0

我正在尝试使用 insert overwrite 语句将数据插入表中,但出现以下错误。

org.apache.spark.sql.AnalysisException: Cannot overwrite a path that is also being read from.;

命令如下

spark.sql("INSERT OVERWRITE TABLE edm_hive SELECT run_number+1 from edm_hive")

我正在尝试使用临时表,存储结果,然后在最终表中更新,但这也不起作用。

另外我正在尝试使用一些变量将记录插入表中,但这也不起作用。例如

spark.sql("INSERT into TABLE Feed_metadata_s2 values ('LOGS','StartTimestamp',$StartTimestamp)")

请建议

4

1 回答 1

0

这个解决方案对我很有效。我在 sparkSession 中添加了该属性。

Spark HiveContext:插入覆盖它读取的同一个表

val spark = SparkSession.builder()
      .config("spark.sql.hive.convertMetastoreParquet","false")
于 2021-05-03T02:06:58.773 回答