使用适当的变量类型将 CSV 文件从 redshift 导出到本地

Posted

技术标签:

【中文标题】使用适当的变量类型将 CSV 文件从 redshift 导出到本地【英文标题】:Export CSV file from redshift to local with appropriate variable types 【发布时间】:2019-06-09 21:01:00 【问题描述】:

我正在尝试将表从 redshift 直接导出到我的本地计算机。我成功地从 redshift 获取数据,但它并没有区分任何数据。当我做 pandas.dtypes 时,它们都以对象的形式出现,而不是各种数据类型,例如字符串或日期时间戳。我还想直接从导出添加列的标题。

我已经成功地从我的终端使用 PSQL 命令导出到我的本地以访问红移。

psql -h omaha-prod-cluster.example.us-east-1.redshift.amazonaws.com -d prod -U <username> -p 5439 -A -t -c "select * from l2_survey.survey_customerinsight" -F ',' -o Downloads/survey_customerInsights.csv

然后我运行 panda 命令来读取数据类型的种类

data.dtypes()

它返回具有对象数据类型的每一列。它也没有给我上面 psql 命令的列标题

【问题讨论】:

查看 Postgres 的 COPY...TO 命令。 【参考方案1】:

你的命令有问题explicitly 要求export command 通过提供参数-t 跳过列名,这告诉命令只导出tuples 而没有column名字。只需像下面这样更改它,它就会为您提供header

psql -h <host-values>.redshift.amazonaws.com -U <user> -d <database> -p 5439 -c "select * from your_schema.your_table" > out.txt

希望对你有帮助。

【讨论】:

以上是关于使用适当的变量类型将 CSV 文件从 redshift 导出到本地的主要内容,如果未能解决你的问题,请参考以下文章

对时间序列 csv 文件使用 mongoimport 和适当的模式设计

如何从 Java 中的 MIME 类型确定适当的文件扩展名

将多个 CSV 文件从文件夹导入 SQL Server

使用 pig 从 csv 文件中读取数据

从 CSV 文件导入包含逗号的变量

如何在 SSIS 包中使用变量和 SQL 代码?