如何保存bucketed DataFrame?

syl*_*syl 5 apache-spark apache-spark-sql

我正在尝试使用bucketBy保存dataFrame

df.write.bucketBy("column").format("parquet").save()
Run Code Online (Sandbox Code Playgroud)

但这会产生错误:

Exception in thread "main" org.apache.spark.sql.AnalysisException: 'save' does not support bucketing right now;
Run Code Online (Sandbox Code Playgroud)

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

eli*_*sah 6

截至目前,星火2.1,save不支持瓢泼大雨的错误消息指出.

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

有一个JIRA正在进行Hive bucketing支持[SPARK-19256].

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

而且因为主要是火花与蜂巢相连,所以实际上你正在保存它hive.

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