Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 为什么配置单元查询在spark中运行时不起作用_Apache Spark_Hive - Fatal编程技术网

Apache spark 为什么配置单元查询在spark中运行时不起作用

Apache spark 为什么配置单元查询在spark中运行时不起作用,apache-spark,hive,Apache Spark,Hive,我开发了一个配置单元查询,它使用横向视图并获取_json_对象来解压缩一些json。使用jdbc客户机dbvisualizer,该查询可以很好地工作,但是当从java应用程序中以spark sql运行时,在相同的数据上,它不会返回任何结果 如果我创建一个数组来模拟预期的未打包json,查询就会工作 数组“Plan A”、“Plan B”、“Plan C”、“Plan D” 但如果我用这句话来解包,它不会: splitregexp\u replaceget\u json\u对象“{product\

我开发了一个配置单元查询,它使用横向视图并获取_json_对象来解压缩一些json。使用jdbc客户机dbvisualizer,该查询可以很好地工作,但是当从java应用程序中以spark sql运行时,在相同的数据上,它不会返回任何结果

如果我创建一个数组来模拟预期的未打包json,查询就会工作

数组“Plan A”、“Plan B”、“Plan C”、“Plan D” 但如果我用这句话来解包,它不会:

splitregexp\u replaceget\u json\u对象“{product\u offer:[{productName:Plan A},{productName:Plan B},{productName:Plan C},{productName:Plan D}]},'$.product\u offer.productName','\[\\\\\]\\',',' 在dbvisualizer中单独运行时,它们产生相同的输出,并且在比较时是等效的

这是查询的简化版本,用于一个包含一行的测试表,转义为java:

从stephen中选择pageid、exp.*、exp2.*、exp3.*\n+ 横向视图外部posexplode splitregexp\u replaceget\u json\u对象“{\product\u offer\:[{\productName\:\P lan A\}、{\productName\:\Plan B\}、{\productName\:\Plan C\}、{\productName\:\Plan D\}、'$.product\u offer.productName'、'\[\\\\\\\\\\\\]\124\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\+ 侧视图外部posexplode阵列'aaaa'、'bbb'、'ccc'、'ddd'exp2作为序号,产品\u报价\n+ 横向视图外部posexplode数组'Delete'、'Add'、'Add'、'Delete'exp3作为序列,产品动作\n+ 其中seqn=seqo\n+ 和seqn=seqa\n 我正在使用java 8,配置单元版本“2.2.0 rda840b0f8fa99cab9f004810cd22abc207493cae”

没有记录任何错误。

当我确定get_json_对象行为不正常时,我重写了这个问题:获取所有产品名称的正确路径是

“$.product\提供[*].productName”