gpt4 book ai didi

azure - pyspark 读取 csv 文件有限制吗?

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

我对 Spark/pyspark 比较陌生,因此非常感谢任何帮助。

目前,我们每小时将文件传送到 Azure 数据湖的文件目录中,例如:

hour1.csvhour2.csvhour3.csv

我正在使用 databricks 使用以下代码读取文件目录中的文件:

sparkdf = spark.read.format(csv).option("recursiveFileLookup", "true").option("header", "true").schema(schema).load(file_location)

每个 CSV 文件约为 5kb,并且都具有相同的架构。

我不确定“spark.read”的可扩展性如何?目前我们正在处理大约2000个这样的小文件,我担心正在处理的文件数量有限制。是否有限制,例如最多 5000 个文件,并且我上面的代码会中断?

根据我在网上看到的内容,我相信数据大小不是上面方法的问题,spark可以读取PB级的数据(相比之下,我们总共的数据大小仍然很小),但是没有提到它能够处理的文件数量 - 如果我错了请告诉我。

非常感谢任何解释。

谢谢

最佳答案

限制你的驱动程序的内存。

当读取目录时,驱动程序会列出它(根据初始大小,它可能会将列表并行化到执行程序,但它会以任何方式收集结果)。获得文件列表后,它会创建任务供执行器运行。

考虑到这一点,如果列表太大而无法容纳驱动程序的内存,您就会遇到问题。

您始终可以增加驱动程序的内存空间来管理它,或者进行一些预处理来合并文件(GCS 有一个 gsutil compose 可以合并文件而不下载它们)。

关于azure - pyspark 读取 csv 文件有限制吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74714793/

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