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 命令语法

Java 连接到 Amazon Redshift

将 IntelliJ 连接到 Amazon Redshift

将 R 连接到 Redshift 时出错

如何将redshift jdbc驱动程序添加到aws lambda函数

将结果从 Pig 直接存储到 Redshift?