从 Redshift 中提取数据

Posted

技术标签:

【中文标题】从 Redshift 中提取数据【英文标题】:Pull data from Redshift 【发布时间】:2016-08-22 07:14:23 【问题描述】:

我们希望将数据从 Redshift 数据库提取到 SQL Server。目前,我们正在使用 SQL Workbench 来分析 Redshift 数据库。我们参考了以下链接 -

Connect Your Cluster By using SQL Workbench

这里我们使用-RedshiftJDBC41-1.1.17.1017驱动来连接。 现在我们要在 SQL Server 2016 中将这些数据推送到 DWH。

那么最好的方法是什么?网上没有太多关于如何的信息。

我们可以在 SSDT/SSIS2015 中使用 SSIS 组件或其他东西来加载这些数据吗?

或者我们可以有任何工具(任何 ETL 工具或 Excel)的中间层,将这些 Redshift 数据转储到 CSV 或在 SSIS 中可读的东西?

【问题讨论】:

【参考方案1】:

可以提取来自 Amazon Redshift 的数据,然后将其加载到几乎任何平台中。

您有多种选择将数据从 Redshift 移动到 SQL Server。

    ETL 工具 - 您可以使用商业 ETL 工具。 SSIS 是一个 从 Redshift 中提取并登陆 SQL Server 中的数据。 S3 Files - You can unload the data from Redshift into S3 buckets and then use SSIS or bcp to copy data from buckets to your SQL Server Local file system -- You can run the unload command to extract data to local file system. You can have psql running locally in a server inside of your network.

For information on how to connect SSIS and any other ETL or BI tool to Redshift please see this link.

【讨论】:

感谢您的回复。请忘记excel。我之所以这么说是因为我想快速可视化这些数据。关于 SSIS(SSIS 2015??),你能指出我可以直接连接到 Redshift 的 url 吗? 您可以从 AWS Redshift 控制台获取信息。它应该看起来像这样:admin.xxxxxxxxxxa.us-east-1.redshift.amazonaws.com:5439。您可以选择“源”数据类型为 PostgreSQL 据我了解,目前没有将 SSIS (2015) 连接到 Redshift 的本地/直接方式。除非您选择第三方 ZappySys 转换。请确认我的理解。 我不是 SSIS 专家,但我很确定它可以从 PostgreSQL 数据源读取数据。几年前我在 Netezza 中使用过它。 看这个:mssqltips.com/sqlservertip/2619/… .. 请记住,就 SSIS 而言,Redshift 可以被视为 PostgreSQL 数据库【参考方案2】:

Amazon Redshift 提供不受任何 Sql Server BI 工具支持的 ODBC 连接器。 MS BI 堆栈仅支持 OLE DB 提供程序,并且由第三方供应商提供

我正在尝试从 Amazon RedShift 构建 SSAS 多维数据集采购数据。

【讨论】:

以上是关于从 Redshift 中提取数据的主要内容,如果未能解决你的问题,请参考以下文章

Redshift - 根据模式提取数据

使用 redshift 从数据库中损坏的 json 中提取特定数据

Redshift - 使用 Python UDF 从 JSON 中提取根密钥

Redshift:如果值存在,则从表 1 中获取值,否则从表 2 中提取

如何从 Redshift 中的日期中提取纪元

从 Amazon Redshift 中的 json 数组中提取特定键