加載數據

適用於:檢查標記是的磚運行時

將數據加載到一個蜂巢SerDe表從用戶指定的目錄或文件。如果指定一個目錄然後從目錄中所有的文件被加載。如果指定一個文件隻有單一文件加載。此外,負載數據聲明需要一個可選的分區規範。當指定一個分區,數據文件(當輸入源目錄)或單個文件(當輸入源文件)加載到目標表的分區。

如果緩存表,表的命令清除緩存數據及其家屬,引用它。緩存會懶洋洋地填在表或家屬下次訪問。

語法

負載數據(當地的]INPATH路徑(覆蓋]table_name(分區條款]

參數

  • 路徑

    路徑的文件係統。它可以是一個絕對或相對路徑。

  • table_name

    標識表插入。必須不包含一個名稱時間規範。如果表不能發現磚了TABLE_OR_VIEW_NOT_FOUND錯誤。

  • 分區條款

    一個可選參數,指明目標分區的插入。你也隻是部分指定分區。

  • 當地的

    如果指定,它導致INPATH對本地文件係統得到解決,而不是默認的文件係統,這是典型的分布式存儲。

  • 覆蓋

    默認情況下,新數據添加到表中。如果覆蓋使用,與新的數據表,而不是覆蓋。

例子

——例子沒有分區規範。——假設學生已經創建並填充表。>選擇*學生;的名字地址student_id- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -艾米史密斯123年公園大街,111111年>創建test_load(的名字VARCHAR(64年),地址VARCHAR(64年),student_idINT)使用蜂巢;——假設學生表的蜂巢/ user / /倉庫/>負載數據當地的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推薦- - - - - - - - - - - - - - -123456789>創建test_load_partition(c1INT,c2INT,c3INT)使用蜂巢分區通過(c2,c3);——假設test_partition表是在“蜂巢/ user / /倉庫/”>負載數據當地的INPATH' /用戶/蜂巢/倉庫/ test_partition / c2 = 2 / c3 = 3 '覆蓋test_load_partition分區(c2=2,c3=3);>選擇*test_load_partition;c1c2c3推薦- - - - - - - - - - - - - - -123