Hive DDL ROW FORMAT


HiveQL DDL語法規則包括

  • CREATE DATABASE/SCHEMA, TABLE, VIEW, FUNCTION, INDEX(創建 數據庫/模式,表,視圖,函數,索引)
  • DROP DATABASE/SCHEMA, TABLE, VIEW, INDEX(刪除 數據庫/模式,表,視圖,索引)
  • TRUNCATE TABLE(清空 表)
  • ALTER DATABASE/SCHEMA, TABLE, VIEW(修改 數據庫/模式,表,視圖)
  • MSCK REPAIR TABLE (or ALTER TABLE RECOVER PARTITIONS)(MSCK修復表或ALTER TABLE恢復分區)
  • SHOW DATABASES/SCHEMAS, TABLES, TBLPROPERTIES, VIEWS, PARTITIONS, FUNCTIONS, INDEX[ES], COLUMNS, CREATE TABLE(查看)
  • DESCRIBE DATABASE/SCHEMA, table_name, view_name(查看 數據庫/模式描述信息)

創建表時需要指定數據切分格式,會用到ROW FORMAT關鍵字。下面是Hive官網關於ROW FORMAT的用法:

下面通過一個例子說明數據之間分隔符用法。比如有兩條數據:

1,Lilei,book-tv-code,beijing:chaoyang-shanghai:pudong
2,Hanmeimei,book-Lilei-code,beijing:haidian-shanghai:huangpu

先看JAVA集合框架圖,明確每個字段數據類型

再看數據格式,指定分隔符

每個字段之間由[ , ]分割----------FIELDS TERMINATED BY ','

第二個字段是Array形式,元素與元素之間由[ - ]分割----------COLLECTION ITEMS TERMINATED BY '-'

第三個字段是K-V形式,每組K-V對內部由[ : ]分割,每組K-V對之間由[ - ]分割----------MAP KEYS TERMINATED BY ':'

每條數據之間由換行符分割(默認[ \n ]),如果是其它分割方式(比如[ ; ])----------LINES TERMINATED BY ';'

完整建表語句

create table psn (
id int,
name string,
hobbies ARRAY <string>,
address MAP <string, string>
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
COLLECTION ITEMS TERMINATED BY '-'
MAP KEYS TERMINATED BY ':'; 

~完~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM