赞
踩
# 创建一个文档,姓名和工作地点之间用制表符'\t'分隔,地点之间以','分隔 [xiaokang@hadoop hive_data]$ vi complex_array.txt zhangsan beijing,shanghai,shenzhen lisi chengdu,chongqing,guizhou # 创建表 hive (xiaoliu)> create table complex_array(name string,work_locations array<string>) > row format delimited > fields terminated by '\t' > collection items terminated by ','; OK Time taken: 0.08 seconds # 上传文档至hdfs [xiaokang@hadoop hive_data]$ hadoop fs -put complex_array.txt /user/hive/warehouse/xiaoliu.db/complex_array # 查看 hive (xiaoliu)> select * from complex_array; OK complex_array.name complex_array.work_locations zhangsan ["beijing","shanghai","shenzhen"] lisi ["chengdu","chongqing","guizhou"] # 映射成功
[xiaokang@hadoop hive_data]$ vi t_map.txt 1,小刘,听歌:非常喜欢-跳舞:喜欢-游泳:一般般 2,奕博,打游戏:非常喜欢-篮球:非常喜欢-吃饭:非常喜欢 3,海龙,吃饭:非常喜欢-学习:喜欢 hive (xiaoliu)> create table t_map(id int,name string,hobby map<string,string>) > row format delimited > fields terminated by ',' > collection items terminated by '-' > map keys terminated by ':'; OK Time taken: 0.087 seconds [xiaokang@hadoop hive_data]$ hadoop fs -put t_map.txt /user/hive/warehouse/xiaoliu.db/t_map hive (xiaoliu)> select * from t_map; OK t_map.id t_map.name t_map.hobby 1 小刘 {"听歌":"非常喜欢","跳舞":"喜欢","游泳":"一般般"} 2 奕博 {"打游戏":"非常喜欢","篮球":"非常喜欢","吃饭":"非常喜欢"} 3 海龙 {"吃饭":"非常喜欢","学习":"喜欢"}
row format delimited | 表示使用内置分隔符 |
---|---|
fields terminated by ',' | 字段之间采用逗号分隔,因此:"1"是一个字段,"小刘"是一个字段,"唱歌:非常喜欢-跳舞:喜欢-游泳:一般般"是一个字段 |
collection items terminated by '-' | 集合元素使用"-"来分割 |
map keys terminated by ':' | 集合元素中的key使用’:'分割 |
①建表的时候一定要根据结构化数据文件的分隔符类型来指定分隔符
②建表的字段个数和字段类型要跟结构化数据中的个数类型一致
③分隔符一般使用内置的来指定 row format delimited 分割字段 分割集合 等等
①hive建表的时候默认的分隔符是’\001’,若在建表的时候没有指明分隔符,load文件的时候文件的分隔符需要的是’\001’,若文件分隔符不是’\001’,程序不会报错,但表查询的结果会全部为’null’。
②用vi编辑器Ctrl+v然后Ctrl+a后输入的’^A’即为’\001’
#创建t_t5,不指定分隔符
hive (xiaoliu)> create table t_t5(id int,attention string);
[xiaokang@hadoop hive_data]$ vi t_t5.txt
1^A微信公众号
2^A大象吃西瓜
[xiaokang@hadoop hive_data]$ hadoop fs -put t_t5.txt /user/hive/warehouse/xiaoliu.db/t_t5
hive (xiaoliu)> select * from t_t5;
OK
t_t5.id t_t5.attention
1 微信公众号
2 大象吃西瓜
您的点赞支持是小编更新文章的最大动力
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。