使用 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