如何将init-data插入到hive中的表中?

时间:2014-06-25 07:17:21

标签: hadoop hive

我想在hive中的表中插入一些初始数据,所以我创建了HQL,

    INSERT OVERWRITE TABLE table PARTITION(dt='2014-06-26') SELECT 'key_sum' as key, '0' as value;

但它不起作用。

还有另一个类似上面的查询,

INSERT OVERWRITE TABLE table PARTITION(dt='2014-06-26') SELECT 'key_sum' as key, '0' as value FROM table limit 1;

但它也没有用,因为我看到这些表是空的。

如何将初始数据设置到表中? (这就是我必须自我加入的原因)

2 个答案:

答案 0 :(得分:1)

关于它应该具有的第一个HQL子句,它缺少所以HQL失败,

INSERT OVERWRITE TABLE table PARTITION(dt='2014-06-26') SELECT 'key_sum' as key, '0' as value;

关于第二个HQL,from table应该至少有一行,所以它可以将常量init值设置到新创建的表中。

INSERT OVERWRITE TABLE table PARTITION(dt='2014-06-26') SELECT 'key_sum', '0' FROM table limit 1;

你可以使用任何有数据的旧蜂巢表,然后点击。

答案 1 :(得分:0)

如果我们已经在hive中创建了测试表,则以下查询可以正常工作。

INSERT OVERWRITE TABLE测试PARTITION(dt ='2014-06-26')SELECT'key_sum'作为键,'0'作为值FROM test;

我认为应首先创建我们执行插入的表。