使用 SQL Workbench 将 csv 文件导入 AWS Redshift 数据库

Posted

技术标签:

【中文标题】使用 SQL Workbench 将 csv 文件导入 AWS Redshift 数据库【英文标题】:use SQL Workbench import csv file to AWS Redshift Database 【发布时间】:2018-11-29 21:57:11 【问题描述】:

我正在寻找一种手动和自动方式来使用 SQL Workbench 将本地 csv 文件导入/加载到 AWS Redshift 数据库。

手动方式可以是单击导航栏并选择选项的方式。

自动方式可以是一些查询代码来加载数据,运行即可。

这是我的尝试: 出现错误“找不到我在 AWS 中的目标表”。但我确定该表存在,有人知道为什么吗?

WbImport -type=text
-file ='C:\myfile.csv'
-delimiter = ,
-table = public.data_table_in_AWS
-quoteChar=^
-continueOnError=true
-multiLine=true

【问题讨论】:

除非我弄错了,而且我的 google-fuu 是在骗我,否则 SQL Workbench 是一个 mysql 工具;那你为什么要标记 SQL Server? 我认为您的意思是 sql/workbenchj,它是 aws 在使用 redshift 时推荐的开源工具 - 与 AQL 工作台不同。请相应地更新您的问题。同时删除 sql-server 标记。 旁注:如果您要加载大量数据,建议您使用COPY 命令将数据加载到 Amazon Redshift。 @JohnRotenstein 你有一些示例代码供参考吗? Using the COPY Command to Load from Amazon S3 - Amazon Redshift 【参考方案1】:

可以在 SQL Workbench/J 中使用 wbimport 来导入数据

欲了解更多信息:http://www.sql-workbench.net/manual/command-import.html

就像 Redshift 提供的 cmets COPY 命令中提到的那样是最佳解决方案。您可以使用来自 S3、EC2 等的副本。 S3 示例:

copy <your_table>
from 's3://<bucket>/<file>'
access_key_id 'XXXX'
secret_access_key 'XXXX'
region '<your_region>'
delimiter '\t';

更多示例:

https://docs.aws.amazon.com/redshift/latest/dg/r_COPY_command_examples.html

【讨论】:

你能发布一些适合我情况的示例代码吗?文档让我很困惑。 我在下面发布我的答案有错误,请告知

以上是关于使用 SQL Workbench 将 csv 文件导入 AWS Redshift 数据库的主要内容,如果未能解决你的问题,请参考以下文章

mysql workbench 将查询结果导出 sql 文件

如何通过 SQL Workbench 将 Amazon Redshift 输出保存到本地 CSV?

您如何解决以下错误?我正在尝试使用数据表导入向导将 csv 文件加载到 Workbench

将 CSV 文件加载到 MySQL Workbench

在 MySQL Workbench 中,使用“表数据导入向导”导入 CSV 会创建空表

MySQL Workbench 从 CSV 导入 NULL