单行hive表中的多行

时间:2016-09-30 13:06:08

标签: hadoop hive

9,Time :
  Cost : Red pending agreement with MPP TBC
  Scope : This novelty puts strong requirement on navigation system; 

如果我们不像今天预期的那样修改导航系统,这种新颖性的可用性将接近于零(在非SBAS区域)。

10,prabha:
   lakesh
11,chandra

这是我的CSV文件数据。我想将此文件加载到hive表中。但结果应该像第二列的整个数据一样在单列。意味着它将插入与表格第2列中的文件相同的位置。我在新行中获得了空值。

1 个答案:

答案 0 :(得分:0)

单个hive表行中的多行很容易,因为Hive确实支持结构化数据。

我不确定此示例中使用的数据结构是否真的需要,但这是如何做你想要的:

create table test ( id int, data array<String> );
-- this is required to insert the data into the test table
create table dummy ( it int );
insert into dummy values (1);
insert into test select 10 , array("prabba:","lakes") from dummy;
insert into test select 11, array("chandra") from dummy;

select * from test; 

现在,正如您所看到的,第二列在同一行中有两行。

0: jdbc:hive2://quickstart:10000/default> select * from test; 
+----------+----------------------+--+
| test.id  |      test.data       |
+----------+----------------------+--+
| 10       | ["prabba:","lakes"]  |
| 11       | ["chandra"]          |
+----------+----------------------+--+