Hive是否需要Hive导出/导入中的确切模式?

时间:2016-05-30 11:19:47

标签: hive hortonworks-data-platform

我正在使用HDP 2.3

  • Hadoop版本 - 2.7.1

  • Hive版本 - 1.2.1

我使用

在hive中创建了一个表dev101
create table dev101 (col1 int, col2 char(10));

我使用

插入了两条记录
insert into dev101 values (1, 'value1');
insert into dev101 values (2, 'value2');

我使用

将数据导出到HDFS
export table dev101 to '/tmp/dev101';

然后,我使用

创建了一个新表dev102
create table dev102 (col1 int, col2 String);

我使用

/tmp/dev10 dev102导入数据
import table dev102 from '/tmp/dev101';

我收到了错误:

  

FAILED:SemanticException [错误10120]:现有表与导入规范不兼容。列架构不匹配

然后我使用

创建了另一个表dev103
create table dev103 (col1 int, col2 char(50));

再次导入:

import table dev103 from '/tmp/dev101';

同样的错误:

  

FAILED:SemanticException [错误10120]:现有表与导入规范不兼容。列架构不匹配

最后,我使用完全相同的架构

创建表格
create table dev104 (col1 int, col2 char(10));

导入

import table dev104 from '/tmp/dev101';

成功导入。

Hive是否需要Hive导出/导入中的确切模式?

1 个答案:

答案 0 :(得分:0)

在Hive Export上,它会创建 _metadata 数据目录,分别保存元数据和数据。

在Hive Import上,您需要新表(不存在于配置单元中)或具有完全相同元数据的空白表。