Hive中的複雜型別

2021-10-03 19:01:49 字數 2841 閱讀 8885

hive專欄

主目錄【前言】

建立資料庫表,以array作為資料型別

create

table person(name string,work_locations array

)row format delimited

fields

terminated

by'\t'

collection items terminated

by','

;

資料

王文 tokyo,haikou

biansutao beijing,shanghai,tianjin,hangzhou

linan changchu,chengdu,wuhan

入庫資料

load

data

local inpath '/home/hadoop/person.txt' overwrite into

table person;

查詢

map:map 包含 key->value 鍵值對,可以通過 key 來訪問元素。比如」userlist」是乙個 map型別 , 其 中 username 是 key , password 是 value ; 那 麼 我 們 可 以 通 過userlist[『username』]來得到這個使用者對應的 password

建立資料庫表

create

table score(name string, score map

int>

)row format delimited

fields

terminated

by'\t'

collection items terminated

by','

map keys

terminated

by':'

;

要入庫的資料

biansutao chinese:89,math:80,english:95

jobs chinese:60,math:80,english:99

入庫資料

load

data

local inpath '/home/hadoop/score.txt' overwrite into

table score;

查詢

struct:struct 可以包含不同資料型別的元素。這些元素可以通過」點語法」的方式來得到所需要的元素,比如 user 是乙個 struct 型別,那麼可以通過 user.address 得到這個使用者的位址。

建立資料表

create

table test(id int

,course struct

>

)row format delimited

fields

terminated

by'\t'

collection items terminated

by','

;

資料

1 english,89

2 math,78

3 chinese,95

入庫

load

data

local inpath '/home/hadoop/test.txt' overwrite into

table test;

查詢

hive複雜型別建表插值

基本型別 tinyint byte 1 smallint short 2 int int 4 bigint long 8 float float 4 double double 8 decimal decimal 精度和刻度decimal 10,3 binary 二進位制 boolean true ...

派生複雜型別

複雜型別都是通過限制或擴充套件其他的型別來派生,通過限制派生的新型別的值範圍是基型別值範圍的自己,新型別的所有例項對於基型別也是有效的,而擴充套件則可以為現有型別新增新的元素和屬性,基型別的例項對於擴充套件型別不一定有效。從簡單型別或另乙個具有簡單內容的複雜型別派生複雜型別時,使用 xs conte...

Entity Framework 複雜型別

為了說明什麼是複雜屬性,先舉乙個例子。public class companyaddress public string companyname public string streetaddress public string city public string state public str...