如何 运行 Redshift 从 EC2 复制命令

How to run Redshift copy command from EC2

我在 EC2 实例上有我的日志文件,想将它加载到 Redshift。两个问题:

  1. 我是否必须在继续之前将此日志文件复制到 S3,或者我是否可以直接从我的 EBS 卷中复制。

  2. 我可以看到我可以使用来自 SQL Workbench 或 Data Pipeline 的复制命令。但是我可以从我的 EC2 实例本身使用它吗?我需要安装哪个 AWS CLI?

http://docs.aws.amazon.com/cli/latest/reference/redshift/ 确实 不列出复制命令

  1. 不是真的。 Redshift 允许您从远程主机 copy ,在您的情况下,这将是您的 EC2 实例。文档 here.
  2. 您提到的 link 提供集群管理命令。要运行 SQL 查询您的集群,您可以使用psql 工具。文档 here.
  1. 你可以直接从EC2复制数据,但我的建议是先保存在S3上,也做个备份

在线提供的所有文档都让我感到困惑。最后,解决方案是我用 DriverManager.getConnection() 编写了一个简单的 Java 文件,并通过 stmt.executeUpdate() 调用复制命令,它可以无缝运行。只有 executeUpdate() 没有 return 我插入的记录数。