2017-12-25 11 views
1

Während von Kafka Streaming-Spark-Structured-Stream 2.1, mit partitionBy mit einer String-Spalte (eine Zeichenfolge von einem Datum in diesem Format yyyy-mm-dd enthält), erwartete ich eineFunken strukturiert Streaming: Parkett Partitionsnamen Einzigartigkeit

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 hängt Zeichenketten ("08% 3A02% 3A48") mit mehreren Verzeichnissen pro Datum an.

Dies ist der Writestream-Befehl:

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

beobachte ich nicht, dies geschieht auf andere Fragen Stackoverflow bei der Partitionierung über Schreib Parkett.

Wie kann ich die Partition die Parkett-Verzeichnisse schreiben, ohne dass diese Zeichenfolge an den Verzeichnisnamen angehängt wird?

Antwort

1

Sieht aus wie interval_read_date ist nicht Daten/Datum-ähnliche Zeichenfolge überhaupt aber Zeitstempel. %3Ais percent encoded: also Namen, die Sie haben, sind:

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

Bitte überprüfen sind Sie die richtigen Daten mit und oder bei Bedarf gegossen gestutzt.

Verwandte Themen