Hive數據類型
參考:中文博客:http://www.cnblogs.com/ggjucheng/archive/2013/01/03/2843448.html
英文:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Types
一、列類型
TINYINT
SMALLINT
INT
BIGINT
BOOLEAN
FLOAT
DOUBLE
STRING
BINARY(Hive 0.8.0以上纔可用)
TIMESTAMP(Hive 0.8.0以上纔可用)
二、複合類型
arrays:ARRAY<data_type>
maps:MAP<primitive_type,data_type>
structs:STRUCT<col_name:data_type[COMMENT col_comment],.....>
union:UNIONTYPE<data_type,data_type,...>
三、時間戳
支持傳統的unix時間戳,可選的納秒級精度。
支持的轉換:
1)整型數值類型:解讀爲以秒爲單位的UNIX時間戳
2)浮動點數值類型:解讀爲以秒和小數精度爲單位的UNIX時間戳。
3)字符串:JDBC兼容的java.sql.Timestamp格式「YYYY-MM-DD HH:MM:SS.fffffffff」(9位小數位精度)
注意:
1)Dates類型在 Hive 0.12.0 版本中引入了。
2)Decimal類型在 Hive 0.11.0 版本中引入了,並在 Hive 0.13.0 版本修訂了。
四、Union類型
Union類型能夠在同一時間點,保持剛好有一個指定的數據類型。
五、常量
數值類型默認是int,若是數值超出int的範圍,就會被解釋爲bigint。
數值後面加上後綴表示:html
Type | 後綴 | 示例 |
TINYINT | Y | 100Y |
SMALLINT | S | 100S |
BIGINT | L | 100L |
六、字符串類型
字符串能夠用單引號或雙引號。
注意:
1)Varchar類型在 Hive 0.12.0 版本中引入了。
2)Char類型將在 Hive 0.13.0 版本中引入。
七、浮點類型
浮點類型數值,默認爲雙浮點類型,目前不支持科學計數法。
八、NULL值
遺漏的值被表明爲特殊值NULL。 要導入NULL字段的數據,須要查閱使用的SerDe的文檔。 (默認的文本格式使用LazySimpleSerDe的解釋字符串\ N爲NULL)java