如何保存bucketed DataFrame?

时间:2017-02-03 10:53:09

标签: apache-spark apache-spark-sql

我正在尝试使用bucketBy保存dataFrame

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

但这会产生错误:

Exception in thread "main" org.apache.spark.sql.AnalysisException: 'save' does not support bucketing right now;

还有其他方法可以保存bucketBy的结果吗?

1 个答案:

答案 0 :(得分:6)

到目前为止, spark 2.1 save不支持错误消息中所述的分段。

方法bucketBy对给定列的输出进行分组,当/如果指定时,输出将在文件系统上布局,类似于Hive的分组方案。

JIRA正在进行Hive bucketing support [SPARK-19256]

因此,分组后唯一可用的操作是saveAsTable,它将DataFrame / Dataset的内容保存为指定的表。

由于主要是spark与hive连接,所以实际上你将它保存到hive

所以你实际上暂时不可能有火花。