由於工做中需求到對hive內的數據進行操做,因此瞭解一下hive數據庫的相關知識,防止本身刪庫跑路sql
整型:數據庫
TINYINT 微整型 1字節性能
SMALLINT 小整型 2字節spa
INT 整型 4字節code
BIGINT 8字節blog
布爾型:索引
BOOLEAN TRUE/FALSE字符串
浮點型:get
FLOAT 單精度spark
DOUBLE 雙精度
字符串類型:
STRING 不設定長度
複合型數據類型:
ARRAY 一組有序字段,字段的類型必須相同
MAP 一組無序的鍵值對
STUCTS 一組命名的字段
1 CREATE TABLE complex( 2 3 col1 ARRAY< INT>, 4 5 col2 MAP< STRING,INT>, 6 7 col3 STRUCT< a:STRING,b:INT,c:DOUBLE> 8 9 )
hive存儲數據主要有兩種方式列存儲和行存儲
1.textfile
默認格式 爲行存儲格式
2.ORCFile
hive/spark都支持這種存儲格式,它存儲的方式是採用數據按照行分塊,每一個塊按照列存儲,其中每一個塊都存儲有一個索引。特色是數據壓縮率很是高
3.Parquet
Parquet也是一種行式存儲,同時具備很好的壓縮性能;同時能夠減小大量的表掃描和反序列化的時間。
CREATE TABLE IF NOT EXIST testname( .......... )STORED AS PARQUET