gpt4 book ai didi

python - Spark结构化流: parquet partition name uniqueness

转载 作者:太空宇宙 更新时间:2023-11-03 14:20:45 24 4
gpt4 key购买 nike

使用 Spark 结构化流 2.1 从 Kafka 进行流式传输时,使用 string 列分区(包含 yyyy-mm-dd 格式的日期字符串),我期望一个

interval27e/_spark_metadata
interval27e/interval_read_date=2010-10-27 08%3A02%3A48
interval27e/interval_read_date=2010-10-30 04%3A27%3A34
interval27e/interval_read_date=2010-11-03 02%3A22%3A13
interval27e/interval_read_date=2010-11-03 07%3A27%3A08
interval27e/interval_read_date=2010-11-14 08%3A37%3A52
interval27e/interval_read_date=2010-11-19 01%3A46%3A50

Spark 正在为每个日期附加多个目录的字符串(“08%3A02%3A48”)。

这是 writeStream 命令:

interval3=interval2     \
.writeStream
.format("parquet")
.option("path","/user/usera/interval27e")
.partitionBy("interval_read_date")
.trigger(processingTime='15 seconds')
.option("checkpointLocation", "/user/usera/checkpoint27e")
.start()

我在其他有关使用分区编写 Parquet 的 stackOverflow 问题上没有观察到这种情况发生。

如何在不将该字符串附加到目录名称的情况下将分区写入 Parquet 目录?

最佳答案

看起来 interval_read_date 根本不是数据/类似日期的字符串,而是时间戳。 %3A is percent encoded :因此您的名字是:

interval_read_date=2010-10-27 08:02:48
interval_read_date=2010-10-30 04:27:34
...

请仔细检查您使用的数据是否正确,并在必要时进行截断或转换。

关于python - Spark结构化流: parquet partition name uniqueness,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47965628/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com