Hive 如何在配置单元中创建包含已收集项的表?

Hive 如何在配置单元中创建包含已收集项的表?,hive,ddl,Hive,Ddl,这可能真的没什么,但因为我是新来的蜂巢。我不知道在蜂箱里怎么做? 我试图在配置单元中创建一个外部表,其中一列的数据类型为array。我的示例数据如下所示: QuRYeRnAuXM EvilSquirrelPictures 1135 Pets&Animals 252 1075 4.96 46 86 gFa1YMEJFag nRcovJn9xHg 3TYqkBJ9YRk 现在,问题是我的列是“\t”分隔的,我希望最后三列(gFa1YMEJFag nRcovJn9xHg 3TYqkBJ9Y

这可能真的没什么,但因为我是新来的蜂巢。我不知道在蜂箱里怎么做? 我试图在配置单元中创建一个外部表,其中一列的数据类型为array。我的示例数据如下所示:

QuRYeRnAuXM EvilSquirrelPictures 1135 Pets&Animals 252 1075 4.96 46 86 gFa1YMEJFag nRcovJn9xHg 3TYqkBJ9YRk 
现在,问题是我的列是“\t”分隔的,我希望最后三列(gFa1YMEJFag nRcovJn9xHg 3TYqkBJ9YRk)放在一个列中,即相关的视频ID。我试着为我的桌子设计了DDL,下面是它的外观:

create external table youtube(video_id char(12), uploader string, time_of_est int, 
category string, len int, views int, ratings float, num_of_rat int, comments int,
related_video_ids array<struct<col1:string,col2:string,col3:string>>) row format delimited
fields terminated by '\t' 
collection items terminated by '\t' 
location '/youtube/'; 

请帮助我为我的桌子获得正确的DDL

您是否可以更改由终止的
字段和由
终止的
集合项ツ 不,我无法更改数据集本身中的列。若分隔符相同,hive如何知道它是集合字段还是普通字段?@devツ 这就是问题所在..没有其他办法吗?在gFa1YMEJFag之后有
\t
。蜂巢将被视为新的领域。因此,您正在失去nRcovJn9xHg 3TYqkBJ9YRk。好了,这件事没办法解决
QuRYeRnAuXM  EvilSquirrelPictures   1135    Pets & Animals  252     1075    4.96000003815   46  86  [{"col1":"gFa1YMEJFag","col2":null,"col3":null}]