您现在的位置是:热点 >>正文
聊聊Hive中的集合数据类型
热点2015人已围观
简介...
本文转载自微信公众号「Java大数据与数据仓库」,作者柯同学。转载本文请联系Java大数据与数据仓库公众号。
除了使用础的数据类型string等,Hive中的列支持使用struct, map, array集合数据类型。
数据类型 描述 语法示例 STRUCT 和C语言中的struct或者"对象"类似,都可以通过"点"符号访问元素内容。 struct{'John', 'Doe'} MAP MAP是一组键-值对元素集合,使用key可以访问元素。 map('fisrt', 'John', 'last', 'Doe') ARRAY 数组是一组具有相同数据类型和名称的变量的集合。 Array('John', 'Doe')
1. Array的使用
创建数据库表,以array作为数据类型
create table person(name string,work_locations array) ROW FORMAT DELIMITED 聊聊;FIELDS TERMINATED BY ' ' COLLECTION ITEMS TERMINATED BY ',';
数据
biansutao beijing,shanghai,tianjin,hangzhou linan changchu,chengdu,wuhan
入库数据
LOAD DATA LOCAL INPATH '/home/hadoop/person.txt' OVERWRITE INTO TABLE person;
查询
hive> select * from person; biansutao ["beijing","shanghai",Hi"tianjin","hangzhou"] linan ["changchu","chengdu","wuhan"] Time taken: 0.355 seconds hive> select name from person; linan biansutao Time taken: 12.397 seconds hive> select work_locations[0] from person; changchu beijing Time taken: 13.214 seconds hive> select work_locations fromve person; ["changchu","chengdu","wuhan"] ["beijing","shanghai","tianjin","hangzhou"] Time taken: 13.755 seconds hive> select work_locations[3] from person; NULL hangzhou Time taken: 12.722 seconds hive> select work_locations[4] from person; NULL NULL Time taken: 15.958 seconds
2. Ma中的p 的使用
创建数据库表
create table score(name string, score map<string,int>) ROW FORMAT DELIMITED FIELDS TERMINATED BY ' ' COLLECTION ITEMS TERMINATED BY ',' MAP KEYS TERMINATED BY ':';
要入库的数据
biansutao '数学':80,'语文':89,'英语':95 jobs '语文':60,'数学':80,'英语':99
入库数据
LOAD DATA LOCAL INPATH '/home/hadoop/score.txt'&nb集合sp;OVERWRITE INTO TABLE score;
查询
hive> select * from score; biansutao {"数学":80,"语文":89,"英语":95} jobs {"语文":60,"数学":80,"英语":99} Time taken: 0.665 seconds hive> select name from score; jobs biansutao Time taken: 19.778 seconds hive> select&n数据bsp;t.score from score t; {"语文":60,"数学":80,"英语":99} {"数学":80,"语文":89,"英语":95} Time taken: 19.353 seconds hive> select t.score['语文'] from score t; 60 89 Time taken: 13.054 seconds hive> select t.score['英语'] from score t; 99 95 Time taken: 13.769 seconds
修改map字段的分隔符
Stora类型ge Desc Params: colelction.delim ## field.delim &nb聊聊sp; mapkey.delim = serialization.format
可以通过desc formatted tableNamHie查看表的属性。
hive-2.1.1中,可以看出colelction.delim,这里是colelction而不是collection,hive里面这个单词写错了,所以还是要按照错误的来。
alter table t8 set serdepropertyes('colelction.delim'=',');
3. Struct 的使用
创建数据表
CREATE TABLE test(id int,course struct<course:string,score:int>) ROW FORMAT DELIMITED FIELDS TERMINATED BY ' ' COLLECTION ITEMS TERMINATED BY ',';
数据
1 english,80&nbsvep;2 math,89 3 chinese,95
入库
LOAD DATA LOCAL INPATH '/home/hadoop/test.txt' OVERWRITE INTO TABLE test;
查询
hive> select * from test; OK 1 {"course":"english","score":80} 2 {"course":"math","score":89} 3 {"course":"ch中的inese","score":95} Time taken: 0.275 seconds hive> select course from test; {"course":"english","score":80} {"course":"math","score":89} {"course":"chinese","score":95} Time taken: 44.968 seconds select t.course.course from test t; english math chinese Time taken: 15.827 seconds hive&g集合t; select t.course.score from test t; 80 89 95 Time taken: 13.235 seconds
4. 不支持组合的复杂数据类型
我们有时候可能想建一个复杂的数据集合类型,比如下面的a字段,本身是一个Map,它的key是string类型的,value是Array集合类型的。
建表
create table test1(id int,a MAP<STRING,ARRAY>) row format delimited fields terminated by ' ' collection items terminated by ',' MAP&n数据bsp;KEYS TERMINATED BY ':';
导入数据
1 english:80,90,70 2 math:89,78,86 3 chinese:99,100,82 LOAD DATA LOCAL INPATH '/home/hadoop/test1.txt' OVERWRITE INTO TABLE test1;
这里查询出数据:
hive> select * from test1; OK 1 {"english":["80"],"90":null,"70":null} 2 {"math":["89"],"78"类型:null,"86":null} 3 {"chinese":["99"],"100":null,"82":null}
可以看到,已经出问题了,我们意图是想"english":["80", "90", "70"],实际上把90和70也当作Map的key了,value值都是空的。分析一下我们的建表语句,collection items terminated by ','制定了集合类型(map, struct, array)数据元素之间分隔符是", ",实际上map也是属于集合的,那么也会按照逗号分出3个key-value对;由于MAP KEYS TERMINATED BY ':'定义了map中key-value的分隔符是":",第一个“english”可以准确识别,后面的直接把value置为"null"了。
Tags:
相关文章
标签: 文心大模型5.0 百度千帆 吴甜 罗永浩数字人
热点云梦级1月22日云梦级消息,今天,在百度文心Moment大会现场,文心大模型5.0正式版上线。 文心大模型5.0正式版参数达2.4万亿,采用原生全模态统一建模技术,具备全模态理解与生成能力,支持文本、...
【热点】
阅读更多胚布是什么布
热点坯布是什么布?-全球纺织网纺织问答坯布是指由有关的纤维通过纺,织加工制成,未经染整加工的。坯布可分为毛坯和光坯,毛坯就是指从织机上下来未经漂染处理的坯布,而光坯就是指经过漂染。库存坯布是什么意思?-全...
【热点】
阅读更多哪些是有氧运动
热点前言:什么是有氧运动?都包括哪些运动?一、有氧运动有氧运动就是在可以充分接触到氧气的条件下进行运动,通过有规律的有氧运动锻炼,人体心脏功能更强,脉搏输出量更多,则供氧能力更强,脉搏数会适当减少。一个心...
【热点】
阅读更多
热门文章
最新文章
友情链接
- 标签: 康师傅
- https://www.nctsn.org/search?cat=191&query=必应蜘蛛池租用【tg:seogoogle987】,nsV
- https://www.klatreverden.no/search?q=必应蜘蛛池租用【tg:seogoogle987】,9n8
- https://www2.ual.es/ProyectoLates/?s=必应蜘蛛池租用【tg:seogoogle987】,RwC
- https://www.wikiart.org/pt/Search/必应蜘蛛池租用【tg:seogoogle987】,nx8
- https://www.quarterjacksurgery.co.uk/?AT=3rBy&s=必应蜘蛛池租用【tg:seogoogle987】,r5G
- https://www.wmfe.org/?s=必应蜘蛛池租用【tg:seogoogle987】,Gua
- https://www.universal-music.co.jp/search/?q=必应蜘蛛池租用【tg:seogoogle987】,BQ4
- https://www.duksung.ac.kr/search/front/Search.jsp?qt=必应蜘蛛池租用【tg:seogoogle987】E6m
- https://www.ncetm.org.uk/search?action=CHECK&q=必应蜘蛛池租用【tg:seogoogle987】,8Ry
- https://www.wou.edu.my/?s=必应蜘蛛池租用【tg:seogoogle987】,nKK
- https://www.resilienz-akademie.com/?cat=71&s=必应蜘蛛池租用【tg:seogoogle987】,nTO
- https://www.target.com/s?searchTerm=必应蜘蛛池租用【tg:seogoogle987】,Oyu
- https://www.shacknews.com/editorial-search?q=必应蜘蛛池租用【tg:seogoogle987】,I51
- https://blvdseafood.com/?s=必应蜘蛛池租用【tg:seogoogle987】z1z
- https://www.polliwogs.com/search/必应蜘蛛池租用【tg:seogoogle987】,QPK
- https://yscc1986.net/search/必应蜘蛛池租用【tg:seogoogle987】siX
- https://www.partilerdunyasi.com/index.php?route=product/search&tag=必应蜘蛛池租用【tg:seogoogle987】,Ils
- https://www.sensorshop24.de/catalogsearch/result/index/?type=132&q=必应蜘蛛池租用【tg:seogoogle987】,H4L
- https://www.routesonline.com/search/?query=必应蜘蛛池租用【tg:seogoogle987】,vji
- https://www.searcychamber.com/list/search?AsfnA=DtkTQzs&q=必应蜘蛛池租用【tg:seogoogle987】,s8B
- https://www.posten-portal.de/search?query=必应蜘蛛池租用【tg:seogoogle987】,l3Q
- https://www.pickett.co.uk/collections/vendors?q=必应蜘蛛池租用【tg:seogoogle987】,KC3
- https://www.stonerealestate.com.au/?cat=100&s=必应蜘蛛池租用【tg:seogoogle987】,42u
- https://www.kubb-tool.bfs.admin.ch/en/search?action=CHECK&q=必应蜘蛛池租用【tg:seogoogle987】,bzt
- https://www.nuovabai.it/catalogsearch/result/?action=SEARCH&q=必应蜘蛛池租用【tg:seogoogle987】,kG1
- https://nicolazzi.it/en/?s=必应蜘蛛池租用【tg:seogoogle987】,28m
- https://www.southmeadows.co.uk/2019/07/?s=必应蜘蛛池租用【tg:seogoogle987】,0g4
- https://www.lee.com/search?q=必应蜘蛛池租用【tg:seogoogle987】,Pgy
- https://m.shoppinghow.kakao.com/m/search/q/必应蜘蛛池租用【tg:seogoogle987】ZUl
- https://www.libros.unam.mx/catalogsearch/result/?cat=37&dir=asc&format=20&lit=20&manufacturer=3230&mode=list&order=year_edition&q=必应蜘蛛池租用【tg:seogoogle987】,C70
- https://www.nss.nhs.scot/search?q=必应蜘蛛池租用【tg:seogoogle987】,Pbw
- https://www.hanbat.ac.kr/search/front/Search.jsp?qt=必应蜘蛛池租用【tg:seogoogle987】DeC
- https://www.symatoys.com/search.html?ID=UyMD6aO58bPrJvQAB1I0N69KzJBZeNPC&keyword=必应蜘蛛池租用【tg:seogoogle987】,vdo
- https://www.tailoy.com.pe/catalogsearch/result/?q=必应蜘蛛池租用【tg:seogoogle987】,iyH
- https://www.parl.ca/legisinfo/fr/projets-de-loi?parlsession=all&view=list&keywords=必应蜘蛛池租用【tg:seogoogle987】,MOl
- https://www.sic-info.org/en/?s=必应蜘蛛池租用【tg:seogoogle987】,D8C
- https://www.nyif.com/catalogsearch/result/?q=必应蜘蛛池租用【tg:seogoogle987】,GRd
- https://www.nslcleaders.org/?s=必应蜘蛛池租用【tg:seogoogle987】,AKh
- https://www.olx.ba/pretraga?trazilica=必应蜘蛛池租用【tg:seogoogle987】,YxI
- https://www.kissthekangaroo.com.au/index.php?route=product/search&tag=必应蜘蛛池租用【tg:seogoogle987】,Clp
- https://dict.naver.com/dict.search?dicQuery&query=必应蜘蛛池租用【tg:seogoogle987】IEG
- https://www.ushmm.org/search/results/?ID=8s0587Oi8UTv74zPPM4fuhwjNpe2hsEE&q=必应蜘蛛池租用【tg:seogoogle987】,2Yi
- https://www.sportbiketracktime.com/index.php?route=product/search&tag=必应蜘蛛池租用【tg:seogoogle987】,GGs
- https://zhidao.baidu.com/index/?action=QUERY&word=必应蜘蛛池租用【tg:seogoogle987】,xn3
- https://www.remit.co.jp/zh/?s=必应蜘蛛池租用【tg:seogoogle987】,EHd
- https://www.nissin.com/jp/search/?cat=105&q=必应蜘蛛池租用【tg:seogoogle987】,AWY
- https://www.qylaws.com/search/必应蜘蛛池租用【tg:seogoogle987】,Q5K
- https://www.silentiumpc.com/en/search/必应蜘蛛池租用【tg:seogoogle987】,Sez
- https://www.usslexington.com/?action=QUERY&s=必应蜘蛛池租用【tg:seogoogle987】,CmB
- https://wydden.com/?ID=r8w9WMSKWkOcmiaFWaUv0dzMdqZWfKtF&s=必应蜘蛛池租用【tg:seogoogle987】,Nnw