hive中的復合資料型別

2021-10-01 05:43:25 字數 1407 閱讀 9589

array中的資料為相同型別,例如,假如array a中元素[『a』,『b』,『c』],則a[1]的值為』b』

資料結構如下:

zhangsan beijing,shanghai,tianjin,hangzhou

wangwu shanghai,chengdu,wuhan,haerbin

create table complex_array(name string,work_locations array< string > ) row format delimited fields terminated by 『\t』 collection items terminated by 『,』; load data local inpath 『/export/data/hivedata/complex_array.txt』 into table complex_array; 檢視array的元素 用下標進行尋找,類似於其他程式語言中的陣列訪問 select work_locations[1] from complex_array;

可以通過[「指定key名稱」]訪問

1,zhangsan,唱歌:非常喜歡‐跳舞:喜歡‐游泳:一般般

2,lisi,打遊戲:非常喜歡‐籃球:不喜歡

create table complex_map(id int,name string,hobby map< string,string >) row format delimited fields terminated by 『,』 collection items terminated by 『‐』 map keys terminated by 『:』;

load data local inpath 『/export/data/hivedata/complex_map.txt』 into table complex_map;

以普通字串對映:

create table complex_map_s(id int,name string,hobby string) row format delimited fields terminated by 『,』;

集合元素可以型別不一樣 例如c的型別為struct,我們可以通過c.a來訪問域a

1,zhou:30

2,yan:30

3,chen:20

4,li:80

create table complex_struct(id int, info struct) row format delimited fields terminated by 『,』 collection items terminated by 『:』;

load data local inpath 『/export/data/hivedata/complex_struct.txt』 into table complex_struct;

select info.age from complex_struct;

復合資料型別

復合資料型別 作用 封裝資料 多種不同型別資料存放在一起 應存放在全域性,在訪問結構體中的變數時,應用stu.id stu.name 初始化的方式 在對陣列進行初始化時 strcpy stu.name,zhangsan 在對指標進行初始化時 char name 對name進行初始化 stu.name...

復合資料型別

一 struct結構體 封裝資料 存放多種不同的資料型別 struct的宣告放在全域性區 1.宣告和定義 宣告 struct student struct student stu array 3 int i for i 0 i 3 i for i 0 i 3 i include struct stu...

復合資料型別

結構體 作用 封裝資料 把多種不同的資料型別放在一起 注意 一般放在全域性 分號不能省略。結構體變數用點訪問 結構體指標用 訪問 初始化 靜態初始化 動態初始化 使用注意事項 給結構體中的陣列成員賦值時,不能直接將字串賦給陣列名,可以使用strcpy函式 給結構體中的指標變數成員賦值時,要先給指標分...