簡體   English   中英

spark結構化流:鑲木地板分區名稱唯一性

[英]spark structured streaming: parquet partition name uniqueness

使用 Spark Structured stream 2.1 從 Kafka 流式傳輸時,使用 partitionBy 字符串列(包含這種格式的日期字符串 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()

我沒有在其他有關使用分區編寫鑲木地板的 stackOverflow 問題上觀察到這種情況。

如何在不將該字符串附加到目錄名稱的情況下將鑲木地板目錄寫入分區?

看起來interval_read_date根本不是數據/類似日期的字符串,而是時間戳。 %3A是百分比編碼:因此你的名字是:

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

請仔細檢查您使用的數據是否正確,並在必要時進行截斷或強制轉換。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM