加載數據
將數據從用戶指定的目錄或文件加載到Hive SerDe表中。如果指定了一個目錄,則加載該目錄中的所有文件。如果指定了一個文件,則隻加載單個文件。此外,負載數據
語句接受一個可選的分區規範。當指定一個分區時,數據文件(當輸入源是一個目錄時)或單個文件(當輸入源是一個文件時)被加載到目標表的分區中。
如果表被緩存,該命令將清除表的緩存數據及其引用它的所有依賴項。當下次訪問表或依賴項時,緩存將被惰性填充。
參數
路徑
文件係統的路徑。它可以是絕對路徑,也可以是相對路徑。
標識要插入的表。名稱中不能包含時間規範.
為插入指定目標分區的可選參數。您也可以隻部分指定分區。
當地的
如果指定,它將導致
INPATH
要針對本地文件係統進行解析,而不是默認文件係統,後者通常是分布式存儲。覆蓋
默認情況下,新數據被追加到表中。如果
覆蓋
時,則用新數據重寫表。
例子
——沒有分區說明的示例。——假設已經創建並填充了students表。>選擇*從學生;的名字地址student_id--------- ---------------------- ----------艾米史密斯123公園大街,聖穆111111>創建表格test_load(的名字VARCHAR(64),地址VARCHAR(64),student_idINT)使用蜂巢;假設students表在'/user/hive/warehouse/'目錄下>負載數據當地的INPATH/用戶/蜂巢/倉庫/學生覆蓋成表格test_load;>選擇*從test_load;的名字地址student_id--------- ---------------------- ----------艾米史密斯123公園大街,聖穆111111——分區規範示例。>創建表格test_partition(c1INT,c2INT,c3INT)分區通過(c2,c3);>插入成test_partition分區(c2=2,c3=3.)值(1);>插入成test_partition分區(c2=5,c3=6)值(4);>插入成test_partition分區(c2=8,c3=9)值(7);>選擇*從test_partition;c1c2c3--- --- ---123.456789>創建表格test_load_partition(c1INT,c2INT,c3INT)使用蜂巢分區通過(c2,c3);——假設test_partition表在'/user/hive/warehouse/'目錄下>負載數據當地的INPATH' /用戶/蜂巢/倉庫/ test_partition / c2 = 2 / c3 = 3 '覆蓋成表格test_load_partition分區(c2=2,c3=3.);>選擇*從test_load_partition;c1c2c3--- --- ---123.