您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關Hive3.1.0如何使用復合數據類型的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
一、概述
主要演示下,多余單張表存在多種復合數據類型的情況,如何編寫對應的HQL建表語句。
二、實例演示
1.假設我們有一些學生信息數據,字段分別有姓名name String類型、愛好interests array類型、課程和分數course map類型、info 手機號和年齡 struct類型,下面我們直接看數據文件student1.txt:
lujisen1,basketball|football,yuwen:80|shuxue:81,18668984418|20lujisen1,basketball|volleyball,yuwen:90|shuxue:91,18668984417|21
2.這張表含有array、map、struct三種符合數據類型,如何進行建表對數據進行分割呢?創建表語句如下:
create table studetn1(name string,interests array<string>,course map<string,double>,info struct<phone:string,age:int>)row format delimited fields terminated by ','collection items terminated by '|'map keys terminated by ':'lines terminated by '\n';
下面來分析下這個建表語句:
1).row format delimited 這個是行格式化限制,下面就指定行里面的字段如何分隔;
2)fields terminated by ',':指定每個字段的用逗號分隔;
3).collection items terminated by '|' 復合數據類型map、array的分隔符 ,內部元素都用“|”分隔;
4).map keys terminated by ':' 這里是map專屬的設置 指定map中key/value分隔符是":"
5).lines terminated by '\n' 這里就比較好理解了 指定每行的分隔符
3.下面我就實際操作一下,用上面的語句建表student1,截個圖:
4.加載數據:
load data local inpath '/root/student1.txt' into table student1;
5.查詢下數據表,驗證數據加載成功:
可能還有其他復雜數據類型,原理跟這個基本一致。
感謝各位的閱讀!關于“Hive3.1.0如何使用復合數據類型”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。