从 Teradata 到 Snowflake 的历史数据迁移
Historical data migration from Teradata to Snowflake
将历史数据负载从 Teradata 迁移到 Snowflake 需要采取哪些步骤?
假设有 200TB+ 的历史数据来自所有 tables。
我正在考虑两种方法。但是我没有足够的专业知识和经验来执行它们。所以想找人来填补空白并提出一些建议
方法 1 - 使用 TPT/FEXP 脚本
- 我知道可以编写 TPT/FEXP 脚本来为 table 生成文件。我如何创建一个脚本来为数据库中的所有 table 生成文件。 (因为想象为所有 table 创建 500 个奇怪的脚本是不切实际的)。
- 准备好这个脚本后,它是如何实时执行的?我们是否创建一个 shell 脚本并通过一些企业调度程序(如 Autosys/Tidal 对其进行调度?
- 生成这些文件后,如果每个文件都很大(因为在 Snowflake 中加载数据的建议大小在 100-250MB 之间),如何在 Linux 机器中拆分它们
- 如何将这些文件移动到 Azure Data Lake?
- 使用 COPY INTO / Snowpipe 加载到 Snowflake 表中。
方法二
- 使用 ADF 复制 activity 从 Teradata 中提取数据并在 ADLS 中创建文件。
- 使用 COPY INTO/ Snowpipe 加载到 Snowflake 表中。
这两种方法中哪一种是最好的建议方法?
总的来说,每种方法面临的挑战是什么。
使用 ADF 将是一个更好的解决方案。这还允许您将 DataLake 设计为解决方案的一部分。
您可以设计一个通用解决方案,它将导入配置中提供的所有表。为此,您可以选择推荐的文件格式 (parquet) 以及这些文件的大小和并行加载。
您将遇到的挑战可能是 Snowflake 的 ADF 连接器工作不佳,在这里您将找到我关于如何绕过连接器问题以及如何使用 DataLake Gen2 的建议:
有关如何构建 Azure Data Lake Storage Gen2 结构的建议的更多信息,请参见此处:Best practices for using Azure Data Lake Storage Gen2
将历史数据负载从 Teradata 迁移到 Snowflake 需要采取哪些步骤? 假设有 200TB+ 的历史数据来自所有 tables。
我正在考虑两种方法。但是我没有足够的专业知识和经验来执行它们。所以想找人来填补空白并提出一些建议
方法 1 - 使用 TPT/FEXP 脚本
- 我知道可以编写 TPT/FEXP 脚本来为 table 生成文件。我如何创建一个脚本来为数据库中的所有 table 生成文件。 (因为想象为所有 table 创建 500 个奇怪的脚本是不切实际的)。
- 准备好这个脚本后,它是如何实时执行的?我们是否创建一个 shell 脚本并通过一些企业调度程序(如 Autosys/Tidal 对其进行调度?
- 生成这些文件后,如果每个文件都很大(因为在 Snowflake 中加载数据的建议大小在 100-250MB 之间),如何在 Linux 机器中拆分它们
- 如何将这些文件移动到 Azure Data Lake?
- 使用 COPY INTO / Snowpipe 加载到 Snowflake 表中。
方法二
- 使用 ADF 复制 activity 从 Teradata 中提取数据并在 ADLS 中创建文件。
- 使用 COPY INTO/ Snowpipe 加载到 Snowflake 表中。
这两种方法中哪一种是最好的建议方法? 总的来说,每种方法面临的挑战是什么。
使用 ADF 将是一个更好的解决方案。这还允许您将 DataLake 设计为解决方案的一部分。 您可以设计一个通用解决方案,它将导入配置中提供的所有表。为此,您可以选择推荐的文件格式 (parquet) 以及这些文件的大小和并行加载。
您将遇到的挑战可能是 Snowflake 的 ADF 连接器工作不佳,在这里您将找到我关于如何绕过连接器问题以及如何使用 DataLake Gen2 的建议:
有关如何构建 Azure Data Lake Storage Gen2 结构的建议的更多信息,请参见此处:Best practices for using Azure Data Lake Storage Gen2