我正在尝试使用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的结果吗?
答案 0 :(得分:6)
到目前为止, spark 2.1 ,save
不支持错误消息中所述的分段。
方法bucketBy
对给定列的输出进行分组,当/如果指定时,输出将在文件系统上布局,类似于Hive的分组方案。
JIRA正在进行Hive bucketing support [SPARK-19256]。
因此,分组后唯一可用的操作是saveAsTable
,它将DataFrame
/ Dataset
的内容保存为指定的表。
由于主要是spark与hive连接,所以实际上你将它保存到hive
。
所以你实际上暂时不可能有火花。