spark2无法将Dataframe写入parquet配置单元表:hivefileformat`它与指定的格式`parquetfileformat不匹配`

xxslljrj  于 2021-06-27  发布在  Hive
关注(0)|答案(1)|浏览(406)

我正在尝试在表配置单元中保存Dataframe。
在spark 1.6中,它可以工作,但在迁移到2.2.0之后,它就不再工作了。
代码如下:

blocs
      .toDF()
      .repartition($"col1", $"col2", $"col3", $"col4")
      .write
      .format("parquet")
      .mode(saveMode)
      .partitionBy("col1", "col2", "col3", "col4")
      .saveAsTable("db".tbl)

现有表project\u bsc\u dhr.bloc\u views的格式为 HiveFileFormat . 它与指定的格式不匹配 ParquetFileFormat .; org.apache.spark.sql.analysisexception:现有表project\u bsc\u dhr.bloc\u views的格式为 HiveFileFormat . 它与指定的格式不匹配 ParquetFileFormat .;

8fsztsew

8fsztsew1#

我刚刚试着用 .format("hive")saveAsTable 在得到错误并成功后。
我也不建议使用 insertInto 这是作者建议的,因为它看起来不是类型安全的(就像这个术语可以应用于sqlapi一样),并且在忽略列名和使用位置基解析的方式上容易出错。

相关问题