apache-spark - Spark SQL 插入选择问题

标签 apache-spark hive apache-spark-sql

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;

上执行这样的 SQL spark-sql 有错误:

ERROR CliDriver: org.apache.spark.sql.AnalysisException: missing TABLE at 'hive_table' near '<EOF>'; line 1 pos 12
at org.apache.spark.sql.hive.HiveQl$.createPlan(HiveQl.scala:289)
at org.apache.spark.sql.hive.ExtendedHiveQlParser$$anonfun$hiveQl$1.apply(ExtendedHiveQlParser.scala:41)
at org.apache.spark.sql.hive.ExtendedHiveQlParser$$anonfun$hiveQl$1.apply(ExtendedHiveQlParser.scala:40)



但是在 hive-cli 或 beeline 中运行正常。
有什么建议?

最佳答案

您的查询中似乎有一个错字 - 您编写了 a,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

关于apache-spark - Spark SQL 插入选择问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31310279/

相关文章:

apache-spark - Spark 2.3.1 AWS EMR 不返回某些列的数据但适用于 Athena/Presto 和 Spectrum

hadoop - Azkaban - HIVe 作业失败

apache-spark - Spark 中的 JSON 到数据集

apache-spark - Hadoop Spark-存储在一个大文件中,而不是存储许多小文件和索引

json - 如何使用Python解析Spark 1.6中格式错误的JSON字符串,其中包含空格,多余的双引号和反斜杠?

shell - 如何获取更新的记录以及从 RDBMS 表到 Hive 表的增量导入?

sql - 不支持的子查询表达式 : Correlating expression cannot contain unqualified column references

python - 意外类型 : <class 'pyspark.sql.types.DataTypeSingleton' > when casting to Int on a ApacheSpark Dataframe

apache-spark - ApacheSpark 从 S3 异常读取 : Premature end of Content-Length delimited message body (expected: 2, 250,236;收到 : 16, 360)

scala - Spark2.1.0 不兼容 Jackson 版本 2.7.6