gpt4 book ai didi

azure - 如何将保留历史记录(时间戳和版本)的 Databricks 表复制到新订阅中的另一个 Databricks?

转载 作者:行者123 更新时间:2023-12-02 23:11:38 33 4
gpt4 key购买 nike

目前,我正在将旧的 Databricks 环境迁移到新环境。由于存在大量依赖性,目标是并行运行新旧环境,直到所有测试都通过。因此,我尝试将 Databricks 表从旧环境复制到新环境。为了尝试成功复制表,我尝试将 Databricks 表从旧订阅导出到帐户存储,然后从帐户存储将它们导入到新的 Databricks 环境中。

到目前为止,我尝试复制它们:

  1. df.write.format("delta").save(<mount_path>), spark.read.format("delta").load(<mount_path>), df.write.format("delta").option("path", <location>).saveAsTable(<table_name>)
  2. DeltaTable.forPath(spark, <location>)
  3. dbutils.fs.cp(<from>, <to>, <recurse>)
  4. sh cp --preserve=all -R <from> <to>

正如我所料,第一个无法工作,因为转换为数据帧会使您丢失有关历史记录的信息。第二种方法没有将 DeltaTable 保存到 Databricks 的保存方法。对于第三个和第四个选项,都保留版本历史记录号,但不保留时间戳,它们会使用执行命令时的时间戳进行更新。

因此,我希望任何人都可以帮助我找到一种解决方案,将数据 block 中的 DeltaTables 从一个订阅复制到另一个订阅,同时保留整个历史记录。因此版本号以及时间戳。

感谢所有帮助和反馈。

最佳答案

由于您使用的是 Azure,因此您可以使用 Azure 数据工厂的数据复制工具,如 documentation 中所述。 - 增量表只是容器中的文件,这个工具可以复制数据,并且可能比使用 Databricks 集群进行复制更便宜......

关于azure - 如何将保留历史记录(时间戳和版本)的 Databricks 表复制到新订阅中的另一个 Databricks?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64821664/

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