amazon redshift jdbc driver CopyManager.copyIn COPY 命令语法
Posted
技术标签:
【中文标题】amazon redshift jdbc driver CopyManager.copyIn COPY 命令语法【英文标题】:amazon redshift jdbc driver CopyManager.copyIn COPY command syntax 【发布时间】:2021-04-26 03:39:54 【问题描述】:我正在寻找将什么命令传递给 amazon redshift jdbc 驱动程序CopyManager.copyIn 方法的示例。代码 cmets 明确指出,它旨在为将复制到指定红移表的入站数据接受 STDIN,但我还没有找到任何要传递的命令的示例(使用 sql
参数)。我试过COPY <target_table_name> CSV DELIMITER ','
,但收到错误消息syntax error at or near "CSV"
。
【问题讨论】:
【参考方案1】:CopyManager 库与 Postgres 配合得很好(对入站数据使用标准输入),但我没有找到解决 Redshift 遇到的错误的方法。 AWS 确实建议通过从 s3 复制来进行批量插入的最佳实践。 COPY <target_table_name> FROM 's3://<s3_bucket_with_path_and_object>' iam_role 'arn:aws:iam::<iam_role>' CSV DELIMETER ',' NULL AS 'NULL' EMPTYASNULL ignoreheader 1
。使用 stdin 批量插入 redshift(尤其是从 ec2 实例中)很容易消耗大量内存。使用 s3 批量插入似乎是最佳实践。这并没有具体回答原始问题,但可能暗示了问题的答案。
【讨论】:
以上是关于amazon redshift jdbc driver CopyManager.copyIn COPY 命令语法的主要内容,如果未能解决你的问题,请参考以下文章
amazon redshift jdbc driver CopyManager.copyIn COPY 命令语法
将 IntelliJ 连接到 Amazon Redshift