【问题标题】:"UNLOAD" data tables from AWS Redshift and make them readable as CSV从 AWS Redshift 中“卸载”数据表并使其以 CSV 格式读取
【发布时间】:2017-01-03 16:09:36
【问题描述】:

我目前正在尝试将当前 AWS 实例的 redshift 数据库中的多个数据表移动到不同 AWS 实例中的新数据库(作为背景,我的公司已经获得了一个新数据库,我们需要整合到 AWS 实例上)。

我在一个表上使用下面的 UNLOAD 命令,我计划将该表设为 csv,然后将该文件上传到目标 AWS 的 S3 并使用 COPY 命令完成表的移动。

unload ('select * from table1')
to 's3://destination_folder' 
CREDENTIALS  'aws_access_key_id=XXXXXXXXXXXXX;aws_secret_access_key=XXXXXXXXX'
ADDQUOTES
DELIMITER AS ','
PARALLEL OFF;

我的问题是,当我将文件类型更改为 .csv 并打开文件时,我得到的数据不一致。有些区域会跳过许多行,并且在某些行上,当预期的列结束时,由于未知原因,我会得到值为“f”的附加列。任何有关我如何实现此转移的帮助将不胜感激。

编辑 1:看起来带引号的字段正在删除引号。此外,带有逗号的字段将逗号分开。我用引号和逗号标识了一些字段,他们把所有东西都扔掉了。无论字段中是否有引号和逗号,我是否会将 addquotes 子句应用于整个字段?

【问题讨论】:

  • 请从您的表格和您遇到问题的 csv 文件中提供一些示例数据。
  • 如果需要将数据从 RS 实例迁移到另一个实例,请采用使用“awslabs”redshift 实用程序加载/卸载数据 SQL 命令生成脚本的编程路线。这种方式记录在定义的目录中导出,可以作为迁移后分析的一部分进行比较。明智地使用分隔符,而不仅仅是逗号或制表符。想出一个不常见的非ASCII字符。例如)\30

标签: sql amazon-web-services export-to-csv amazon-redshift


【解决方案1】:

默认文档的扩展名为 txt 并带有引号。尝试用 Excel 打开它,然后另存为 csv 文件。 参考https://help.xero.com/Q_ConvertTXT

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-13
    • 1970-01-01
    • 2018-07-18
    • 2019-08-19
    • 1970-01-01
    • 1970-01-01
    • 2014-07-04
    • 1970-01-01
    相关资源
    最近更新 更多