2017-02-03 7 views
1

Я пытаюсь сохранить dataFrame с помощью bucketByискра 2,0 bucketBy сохранить

df.write.bucketBy("column").format("parquet").save() 

Но это производит ошибку: исключение в потоке «основного» org.apache.spark.sql.AnalysisException: «Сохранить» делает не поддерживать брэкинг прямо сейчас;

Есть ли другой способ сохранить результат bucketBy?

+0

Нет предложения? – syl

+0

DataFrameWriter.bucketBy доступен для загрузки вывода, например, Hive. Пожалуйста, обратитесь к документу API по адресу https://spark.apache.org/docs/2.0.0/api/java/org/apache/spark/sql/DataFrameWriter.html#bucketBy(int,%20java.lang.String,% 20scala.collection.Seq) – Salim

ответ

3

До сих пор spark 2.1, save не поддерживает балансировку, как указано в сообщении об ошибке.

Метод bucketBy выдает выходные данные по заданным столбцам, а когда/если он указан, выход выложен в файловой системе, похожей на схему буксировки Hive.

В настоящее время работает JIRA, работая над Hive bucketing support [SPARK-19256].

Таким образом, единственная доступная операция после bucketing будет saveAsTable, которая сохраняет содержимое DataFrame/Dataset в качестве указанной таблицы.

И поскольку в основном искра соединяется с улей, так что на самом деле вы сохраняете ее до hive.

Так что вы на самом деле пока не можете искры.

 Смежные вопросы

  • Нет связанных вопросов^_^