gpt4 book ai didi

sql - "Data Load"或 "ETL"的工具——从 SQL Server 到 Amazon Redshift

转载 作者:行者123 更新时间:2023-12-02 08:33:58 24 4
gpt4 key购买 nike

我正在尝试找出可以在 AWS EC2 中托管的体面但简单的工具,这将使我能够从 SQL Server 2005 中提取数据并推送到 Amazon Redshift。我基本上在 SQL Server 中有一个 View ,我正在执行 SELECT *,我只需要将所有这些数据放入 Redshift。最大的问题是有大量数据,这将需要进行配置,以便我可以将其排队、作为夜间/连续作业运行等。

有什么建议吗?

最佳答案

阿列克谢普,

将表转储到文件,那么您有两个基本挑战需要解决:

  1. 将数据传输到亚马逊
  2. 将数据加载到 Redshift 表。

Amazon S3 将在以下两个方面帮助您:

  1. S3 支持将文件从您的 SQL 服务器位置快速上传到 Amazon。看这个great article .它是从 2011 年开始的,但几个月前我做了一些测试,看到了非常相似的结果。我正在测试千兆字节的数据,16 个上传线程没问题,因为我不在主干线上。要记住的关键是,压缩和并行上传是缩短上传时间的好 friend 。

  2. 一旦数据在 S3 上,Redshift 支持通过 COPY SQL 命令从 S3 上的文件到表的高性能并行加载。为了获得最快的加载性能,请根据表分布键对数据进行预分区并对其进行预排序以避免昂贵的清理。 Amazon 的 best practices 中均有详细记录.我不得不说这些人知道如何使事情变得简洁明了,所以只需按照步骤操作即可。

如果您是一名程序员,您可以使用脚本以您想要的任何 shell/语言远程编排整个过程。您将需要用于并行 HTTP 上传到 S3 和命令行访问 Redshift (psql) 的工具/库以启动 COPY 命令。

另一个选项是 Java,有用于 S3 上传和 JDBC 访问 Redshift 的库。

正如其他发帖人所建议的,您也可以使用 SSIS(或基本上任何其他 ETL 工具)。我正在使用 CloverETL 进行测试。负责自动化流程以及分区/预排序文件以供加载。

关于sql - "Data Load"或 "ETL"的工具——从 SQL Server 到 Amazon Redshift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23773066/

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