将一个表分发到另一个具有不同名称的表

disho6za  于 2022-09-20  发布在  Hadoop
关注(0)|答案(1)|浏览(236)

注:TABLE为HIVE表的名称,为HDFS目录。

我有两台服务器,分别是C1和C2。C1有一个顺序格式的表item.name。C2有一个orc格式的表item.name,它的数据与C1相同。

每当我需要使用discp将数据从表item.name从C1复制到C2时。在运行discp之前,我需要删除C2中的当前表,并按顺序重新创建一个表。最后,将表格重新创建为兽人格式。这对于庞大的数据和日常任务来说是很麻烦的。

我想知道在C2中创建两个表作为item.name(Orc)和item.name_seq(顺序)的想法。使用这种方法,我需要将数据从c1中的item.name复制到c2中的item.name_seq。复制数据后,我可以插入C2中的item.name的orc表。这种方法好吗?有可能实现吗?

基本上,对于discp,我需要将数据从C1中的item.name复制到C2中的item.name_seq。

如果你有更好的办法,请让我知道。

zbwhf8kr

zbwhf8kr1#

您可以使用SparkSQL在配置单元服务器之间进行读写,同时更改表列名称、格式。

否则,正如您所提到的,您需要在discp之后重新创建表(以Sequencefile格式),然后运行CTAS语句以在配置单元本身内转换为ORC。

相关问题