Spark2 Невозможно записать фрейм данных в таблицу кустов паркета: HiveFileFormat`. Не соответствует указанному формату `ParquetFileFormat` - PullRequest
0 голосов
/ 09 января 2019

Я пытаюсь сохранить фрейм данных в табличном кусте.

В 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_bsc_dhr.bloc_views: HiveFileFormat. Не соответствует указанному формату ParquetFileFormat .; org.apache.spark.sql.AnalysisException: формат существующей таблицы project_bsc_dhr.bloc_views - HiveFileFormat. Не соответствует указанному формату ParquetFileFormat.;

1 Ответ

0 голосов
/ 15 марта 2019

Я только что попытался использовать .format("hive") до saveAsTable после получения ошибки, и это сработало.

Я бы также не рекомендовал использовать insertInto, предложенный автором, поскольку он выглядит небезопасным (насколько этот термин может применяться к SQL API) и подвержен ошибкам в способ, которым он игнорирует имена столбцов и использует базовое разрешение позиции.

...