我有两个具有相同列和数据类型等的配置单元表,我想将数据从一个表复制到另一个集群中的另一个表。
hive 或 sqoop 是否提供了一种简单的方法来做到这一点?
设想:
Table A in Cluster1
Table B in Cluster2
Append table A into Table B on Cluster 2
实现此目的的一种便捷方法是使用 Hive 的导入/导出功能。Export命令将表或分区的数据连同元数据一起导出到指定的输出位置。然后可以将此输出位置移动到不同的 Hadoop 或 Hive 实例,并使用Import命令从那里导入。
您也可以使用猎鹰进行数据复制。您也可以使用配置单元上下文并用 Java 或 Scala 编写代码来复制数据。
您可以使用 Distcp 命令在集群之间复制数据。但是您必须先将表数据转换为文件,然后使用命令将文件复制到不同的集群。用法如下:
$ hadoop distcp (src) (dest)
将文件复制到集群 2 中后,您可以将文件加载到表中。您可以在此链接中找到更多信息:http: //hadoop.apache.org/docs/r1.2.1/distcp.html