如何让Dataframe分区在S3键名中包含文字冒号而不是编码(%3A)冒号

时间:2018-04-21 16:37:42

标签: python apache-spark pyspark apache-spark-sql pyspark-sql

在pyspark中,我有一个数据框,其中包含截断日期的日期列

# +-------------------+                                                           
# |d                  |
# +-------------------+
# |2018-04-07 00:00:00|
# +-------------------+

当我这样做时:

df.write.partitionBy('d').parquet('s3://somebucket/out/')

...我希望找到一个名为:

的密钥
s3://somebucket/out/d=2018-04-07 00:00:00/part-*-c*.snappy.parquet

......但是,相反,我发现了这个:

s3://somebucket/out/d=2018-04-07 00%3A00%3A00/part-*-c*.snappy.parquet

(请注意'%3A'而不是':')

这对athena / hive / etc分区造成了严重破坏。

有没有办法让pyspark使用真正的冒号而不是将其编码为%3A?

0 个答案:

没有答案