gpt4 book ai didi

azure - Databricks parquet 读取时间太长

转载 作者:行者123 更新时间:2023-12-02 06:35:09 25 4
gpt4 key购买 nike

我有两组独立的文件,具有不同的架构,存储在 Azure blob 存储中的 parquet 文件中,两者都存储在月/日/小时子文件夹中。

我需要按小时计划处理文件,这意味着我可以从第一个架构加载最新的文件。但是,我需要加入第二个模式中的记录,该记录可能是过去任何可能的时间。因此,为了加入正确的记录,我需要从第二个模式加载整个数据集。

在连接中使用结果之前,我正在使用spark.read.parquet(rootlocation)。阅读这篇文章需要很长时间(几乎一个小时),这是可以理解的。有谁知道有什么策略可以优化这个吗?我似乎没有得到任何并行性,因为我只有一份工作。

最佳答案

您可以通过在读取表或两个表时提供架构来加速该过程。否则,Spark 将需要发现所有分区,找出架构等,并且当您有很多文件(特别是小文件)时,可能会花费很多时间(还要检查您是否有 .option("mergeSchema", "true") 设置):

val schema = "col1 long, col2 string, ..."
val df = spark.read.schema(schema).load("path")

或者,您可以从 Parquet 切换到 Delta Lake 表 - 在这种情况下,架构存储在 Delta 日志中,并且可以更快地获取。

关于azure - Databricks parquet 读取时间太长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76655616/

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