我们能否使用sqoop将数据从Hadoop(Hive)导出到Amazon Redshift

Anj*_*udi 3 hadoop etl amazon-web-services sqoop

我有一个本地Hadoop集群,想将数据加载到Amazon Redshift中。考虑到成本,不能选择Informatica / Talend,因此我们可以利用Sqoop将表从Hive直接导出到Redshift吗?Sqoop是否连接到Redshift?

Joh*_*ein 5

将数据加载到Amazon Redshift 的最有效方法是将数据放入Amazon S3,然后COPY在Redshift中发出命令。这将跨所有Redshift节点执行并行数据加载。

尽管Sqoop可能能够通过使用传统的INSERTSQL命令将数据插入Redshift ,但并不是将数据插入Redshift的好方法。

首选方法是:

  • 将数据导出为CSV格式的Amazon S3(最好是.gz或.bzip格式)
  • COPY在Redshift中触发命令

通过将数据复制到CSV格式的Hive 外部表中,您应该能够将数据导出到S3 。

另外,Redshift可以从HDFS加载数据。它需要一些其他设置才能将Redshift访问权限授予EMR集群。请参阅Redshift文档:从Amazon EMR加载数据