Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark Spark结构化流媒体自定义分区目录名_Apache Spark_Spark Structured Streaming_Spark Streaming Kafka - Fatal编程技术网

Apache spark Spark结构化流媒体自定义分区目录名

Apache spark Spark结构化流媒体自定义分区目录名,apache-spark,spark-structured-streaming,spark-streaming-kafka,Apache Spark,Spark Structured Streaming,Spark Streaming Kafka,我正在将一个流式作业(Kafka主题->AWS S3拼花文件)从Kafka Connect移植到Spark结构化流式作业 我按年/月/日对数据进行分区 代码非常简单: df.withColumn("year", functions.date_format(col("createdAt"), "yyyy")) .withColumn("month", functions.date_for

我正在将一个流式作业(Kafka主题->AWS S3拼花文件)从Kafka Connect移植到Spark结构化流式作业

我按年/月/日对数据进行分区

代码非常简单:

        df.withColumn("year", functions.date_format(col("createdAt"), "yyyy"))
        .withColumn("month", functions.date_format(col("createdAt"), "MM"))
        .withColumn("day", functions.date_format(col("createdAt"), "dd"))
        .writeStream()
        .trigger(processingTime='15 seconds')
        .outputMode(OutputMode.Append())
        .format("parquet")
        .option("checkpointLocation", "/some/checkpoint/directory/")
        .option("path", "/some/directory/")
        .option("truncate", "false")
        .partitionBy("year", "month", "day")
        .start()
        .awaitTermination();
输出文件位于以下目录中(如预期):

问题:

有没有办法自定义输出目录名?我需要它

/s3-bucket/some/directory/2021/01/02/

出于向后兼容性的原因。

否,无法将输出目录名称自定义为Spark结构化流媒体应用程序中提到的格式


分区基于特定列的值,如果在目录路径中没有它们的列名,那么它们的值属于哪个列就不明确了。您需要编写一个单独的应用程序,将这些目录转换为所需的格式。

否,无法将输出目录名称自定义为您在Spark结构化流媒体应用程序中提到的格式

分区基于特定列的值,如果在目录路径中没有它们的列名,那么它们的值属于哪个列就不明确了。您需要编写一个单独的应用程序,将这些目录转换为所需的格式。

Kafka Connect可以(而且可能应该)使用
year=2021/month=01/day=02
格式编写,那么Spark添加了什么好处呢?Kafka Connect可以(也可能应该)使用
year=2021/month=01/day=02
格式编写,那么Spark增加了什么好处呢?
/s3-bucket/some/directory/2021/01/02/