gpt4 book ai didi

pyspark - 在数据 block 上提取 tar.gz

转载 作者:行者123 更新时间:2023-12-05 06:13:10 25 4
gpt4 key购买 nike

我正在尝试在我们的数据 block 环境中提取大约 5 gig(内容大约 35)的 tar.gz。我试图用以下方法提取它:

tar = tarfile.open(blob_storage_location', 'r:gz')
tar.extractall()
tar.close()

也将其复制到我们的数据 block 环境中,然后进行尝试。

还试过:

%sh
tar xvzf $(find /dbfs/tmp/ -name '*.tar.gz' -print ) -C /dbfs/tmp/

和:

shutil.unpack_archive(path, path, gz)

他们都开始然后一直挂着。只有当我使用我们最大的默认集群时它才有效,但我觉得它也应该适用于较小的集群(因为它适用于我的笔记本电脑)。

差异集群:

  • 集群 1
    • worker 类型:
      • 14.0 GB 内存,4 核,0.75 DBU Standard_DS3_v2
      • 最少 worker 2 最多 worker 8
  • 第 2 组
    • worker 类型:
      • 28.0 GB 内存,4 核,1 DBU Standard_DS3_v2
      • worker 8

任何让它在较小的机器上运行的建议都将不胜感激。

编辑:我又找回了这个问题,找到了答案。您可以为此创建一个只有一个节点的自定义集群。然后它将正常工作。

最佳答案

当您使用 %sh 或任何 Python 库时,您有多少工作人员并不重要 - 工作仅在驱动程序节点上完成。我怀疑问题是您有很多文件,将数据解包到 DBFS 可能是一个瓶颈。

我会建议先尝试将数据解压到本地磁盘,然后将解压后的文件移动到 DBFS。

tar xvzf /dbfs/..../file.tar.gz -C /tmp/unpacked

然后移动:

dbutils.fs.mv("file:/tmp/unpacked", "dbfs:/tmp/", True)

关于pyspark - 在数据 block 上提取 tar.gz,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63409720/

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