hadoop—执行前配置单元查询执行估计的强度

yebdmbv4  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(289)

我支持带有配置单元服务的hadoop集群,但是我不是配置单元开发人员。其中一个开发人员正在运行一个长查询(请参见下面的示例)。作业失败,并显示一些隐秘的错误消息(请参见下文)。
我怀疑这个查询太过密集或者没有优化,或者两者兼而有之。我怎么知道这个问题会不会太激烈?
当我监视配置单元服务器时,负载仅为(w输出)1.5,网络带宽峰值为5.7 mbps/sec。顶级java进程消耗的cpu低于2%。我没有看到真正的证据表明查询正在破坏配置单元服务器(配置单元群集中只有一个配置单元服务器)。
Hive元库金丝雀持续时间从<1秒变为2.5秒。
我怎么知道是这个问题还是其他问题太激烈了?
查询:选择duid,getjson对象(json数据,$.app.p')作为平台,min(getjson对象(json数据,$.generated.ats'))作为第一个从raw.raw事件启动的对象,其中app='atlas qa'和ds>='20160306'和ds<='20160326'和duid='00001656-da4f-47dc-8619-2868198ed25a'按duid分组,getjson对象(json数据,$.app.p')限制10;
服务器上的错误示例:hadoop-cmf-hive-hivemetastore-qn7bi02hdn001.compliant.disney.private.log。out:2016-05-04 12:21:58115 info org.apache.hadoop.hive.metastore.objectstore:无法从表达式字符串[(null和(ds='20160501'))]生成表达式树分析分区筛选器时出错;lexer错误:null;异常noviablealtexception(11@[])

gcuhipw9

gcuhipw91#

返回时可能有一些空数据 Get_json_object 正在运行。从查询中删除这两个并运行它。。一切都会好的。。从中返回了一些空数据 MIN(GET_JSON_OBJECT(json_data, '$.generated.ats')) .
此外,我们还有 string get_json_object(string json_string, string path) ,其中:
根据指定的json路径从json字符串中提取json对象
返回提取的json对象的json字符串。
如果输入的json字符串无效,它将返回null。
注意:json路径只能包含以下字符 [0-9a-z_] ,即没有大写或特殊字符。而且,按键不能以数字开头。这是由于对配置单元列名的限制。
希望这有帮助

相关问题