嵌套类型Array[struct]保存至Hive
2016-07-08 18:04
155 查看
以豆瓣电影:霸王别姬为例
其主演存在多个,同时每个演员都有自己的id及name属性,而类型仅仅有name属性不包含id属性,
因此主演对应为Array[struct]类型,可表示为
类型对应为Array类型,可表示为
生成数据文件,其内容为
定义Hive表结构为
将数据文件load进hive表
查询结果为
其主演存在多个,同时每个演员都有自己的id及name属性,而类型仅仅有name属性不包含id属性,
因此主演对应为Array[struct]类型,可表示为
[{"id":1003494,"name":"张国荣"}, {"id":1050265,"name":"张丰毅"}, {"id":1035641,"name":"巩俐"}, {"id":1000905,"name":"葛优"}, {"id":1011479,"name":"英达"}]
类型对应为Array类型,可表示为
["剧情","爱情","同性"]
生成数据文件,其内容为
1291546|霸王别姬|1003494$张国荣^1050265$张丰毅^1035641$巩俐^1000905$葛优^1011479$英达|剧情^爱情^同性
定义Hive表结构为
CREATE TABLE o_douban( doubanid bigint, title string, starring array<struct<id:bigint,name:string>>, genre array<string>) ROW FORMAT DELIMITED FIELDS TERMINATED BY '|' COLLECTION ITEMS TERMINATED BY '^' MAP KEYS TERMINATED BY '$'
将数据文件load进hive表
LOAD DATA LOCAL INPATH '/home/admin/test/douban.txt' OVERWRITE INTO TABLE douban
查询结果为
hive> select doubanid, title, editor, genre from o_douban
> where doubanid = 1291546;
1291546|
霸王别姬|
[{"id":1003494,"name":"张国荣"}, {"id":1050265,"name":"张丰毅"}, {"id":1035641,"name":"巩俐"}, {"id":1000905,"name":"葛优"}, {"id":1011479,"name":"英达"}]|
剧情^爱情^同性
相关文章推荐
- 分享Hive的一份胶片资料
- Hadoop生态上几个技术的关系与区别:hive、pig、hbase 关系与区别
- 将Hive的默认数据库Derby改为Postgresql
- kettle中对hive操作时需要知道的东西
- Hive安装配置
- Hive - truncate partition、drop partition 区别
- #Note# Analyzing Twitter Data with Apache Hadoo...
- 大数据实验室(大数据基础培训)——Hive的安装、配置及基础使用
- [翻译]Hive wiki GettingStarted
- hive命令积累
- 启动hive命令报错 “Metastore contains multiple versions”
- sparksql与hive整合
- hive on spark 编译
- sqoop 中文文档 User guide 一
- sqoop 中文文档 User guide 二 import
- sqoop 中文文档 User guide 二 import续
- sqoop 中文文档 User guide 三 export
- sqoop 中文文档 User guide 四 validation
- sqoop 中文文档 User guide 五 job,metastore,merge,codegen