Spark 2.1:如何在DataFrameWriter partitionBy中提供多个列

iye*_*and 1 apache-spark

我正在尝试使用Spark 2.1创建一个包含多个分区的orc文件.我的代码看起来像这样: df.write.option("compression", "zlib").partitionBy("a, b").orc("s3a://bucket/")

where a&b是我要分区的两列.

我坚持了org.apache.spark.sql.AnalysisException: Partition column "a, b" not found in schema!

我试了几个组合partitionBy'a, b''a', 'b'...没有什么作品?有任何想法吗?谢谢!

iye*_*and 6

所以,我发现了问题!对于投票的人,请注意:功能的顺序对于多个分区的工作很重要!先来partitionBy,然后来到其他人.所以这个作品:df.write.partitionBy("a", "b").option("compression", "zlib").orc("s3a://bucket/")!就是这样,从文档来看它并不明显,而且在网络上的文档或其他答案中没有任何地方,这是显而易见的!