gpt4 book ai didi

apache-spark - 如何更改 _spark_metadata 目录的位置?

转载 作者:行者123 更新时间:2023-12-01 23:09:37 28 4
gpt4 key购买 nike

我正在使用 Spark Structured Streaming 的流式查询使用以下代码将 Parquet 文件写入 S3:

ds.writeStream().format("parquet").outputMode(OutputMode.Append())
.option("queryName", "myStreamingQuery")
.option("checkpointLocation", "s3a://my-kafka-offset-bucket-name/")
.option("path", "s3a://my-data-output-bucket-name/")
.partitionBy("createdat")
.start();

我在 s3 存储桶中获得了所需的输出 my-data-output-bucket-name但随着输出,我得到 _spark_metadata文件夹中。如何摆脱它?如果我无法摆脱它,如何将它的位置更改为不同的 S3 存储桶?

最佳答案

我的理解是不是 可能高达 Spark 2.3。

  • 元数据目录的名称始终是 _spark_metadata
  • _spark_metadata目录始终位于 path 所在的位置选项指向

  • 我认为“修复”它的唯一方法是在 Apache Spark's JIRA 中报告问题并希望有人能捡起来。

    内件

    流量是 DataSource被请求到 create the sink流查询并采用 path选项。这样,它就会创建一个 FileStreamSink . path选项只是变成 basePath结果以及元数据写入的位置。

    您可以找到 initial commit对于理解元数据目录的用途非常有用。

    In order to correctly handle partial failures while maintaining exactly once semantics, the files for each batch are written out to a unique directory and then atomically appended to a metadata log. When a parquet based DataSource is initialized for reading, we first check for this log directory and use it instead of file listing when present.

    关于apache-spark - 如何更改 _spark_metadata 目录的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50847512/

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