INSERT INTO hive_table SELECT b.id,a.id FROM hive_table_1 a,hive_table_2 b WHERE a.id BETWEEN b.id1 AND b.id2;
在 spark-sql 上执行此类错误:
错误CliDriver:org.apache.spark.sql.AnalysisException:在'< EOF>'附近的'hive_table'处缺少TABLE;第1行pos 12 在org.apache.spark.sql.hive.HiveQl $ .createPlan(HiveQl.scala:289)
在org.apache.spark.sql.hive.ExtendedHiveQlParser $$ anonfun $ hiveQl $ 1.apply(ExtendedHiveQlParser.scala:41)
在org.apache.spark.sql.hive.ExtendedHiveQlParser $$ anonfun $ hiveQl $ 1.apply(ExtendedHiveQlParser.scala:40)
但是在hive-cli或beeline中运行正常。 有什么建议吗?
答案 0 :(得分:0)
您的查询中似乎存在拼写错误 - 您编写了一个id而不是a.id来访问表a的字段ID。
此代码应该可以正常运行:
INSERT INTO hive_table SELECT b.id,a.id
FROM hive_table_1 a,hive_table_2 b
WHERE a.id BETWEEN b.id1 AND b.id2;
我发现了你的错误:spark没有从头开始选择hive-site.xml, 您必须使用变通方法。 可以找到可能的解决方法there