将数据从MySql同步到Amazon RedShift

Gav*_*iel 6 mysql synchronization view rds amazon-redshift

我们对Amazon RedShift中的大型数据集进行了一些聚合,我们在MySQL中有一些相对较少的数据.对于RedShift中的一些连接,我们需要MySQL中的数据.将MySql数据同步到RedShift的最佳方法是什么?像oracle中的远程视图那样在redshift中有这样的东西吗?或者我应该以编程方式查询MySql并在RedShift中插入/更新?

Ben*_*ley 7

Redshift现在支持通过SSH 从远程主机加载数据.该技术涉及:

  1. 将群集中的公钥添加到远程主机上的authorized_keys文件
  2. 允许从群集节点的IP地址对远程主机进行SSH访问
  3. 将JSON清单上载到S3,指定远程主机,公钥和要在远程主机上执行的命令
  4. 使用指定的清单文件和AWS凭据运行COPY命令

清单指定的命令运行任意命令,该命令以适合 Redshift COPY命令摄取格式打印文本输出.


alt*_*tiv 3

当 Redshift 中的连接需要 MySQL 数据时,我们通常只是将其从一个数据库发送到另一个数据库。

它意味着:

  1. Redshift:创建类似的表模式(牢记 Redshift/PSQL 的特殊性)
  2. MySQL:转储数据表(csv格式)
  3. 压缩导出并将其发送到 S3
  4. Redshift:截断表,并使用 COPY 导入所有数据

步骤 2 到 4 可以编写脚本,并允许您在必要时或定期将新数据发送到 Redshift。