时间:2021-07-01 10:21:17 帮助过:3人阅读
(2)通过Spark Server来执行Hive SQL语句;
终端异常信息为:Error: java.lang.ClassNotFoundException: json_tuple (state=,code=0)
Spark Server日志输出为:
网上也有相关信息的讨论:http://mail-archives.us.apache.org/mod_mbox/spark-user/201504.mbox/%3CCAHUQ+_aEnvZdQA=4YPgHe5v_E+Uw3FeT4vyXxyzAMYSNwHi+GA@mail.gmail.com%3E
怀疑的问题为找不到相应的jar包,其实实际问题是UDF解析类名错误,json_tuple为函数名称,其对应的类名应为org.apache.hadoop.hive.ql.udf.generic.GenericUDTFJSONTuple。
这个异常直接影响到我们使用Hive UDF json_tuple通过Spark Server分析JSON数据。
方案
为了达到“Hive JSON数据处理的一点探索”中数据表myjson最后的查询效果,我们需要使用Hive UDF get_json_object来实现,如下:
由get_tuple和func.json_array结合使用的方案变为get_json_object和func.json_array结合使用的方案。可以看出这种方案虽然繁杂,但可以应对实际问题。
Spark SQL JSON数据处理
标签: