常見的數據加載模式複製

了解常見的使用模式複製到文件來源的數據加載到三角洲湖。

有很多選項可用於使用副本。你也可以使用臨時憑證來加載數據複製結合這些模式。

看到複製到全部參考的所有選項。

創建複製到目標表

複製必須目標現有三角洲表。在磚運行時11.0及以上,這些表的模式是可選支持的格式模式演化:

創建如果存在my_table((col_1col_1_type,col_2col_2_type,…))(評論<table_description>](TBLPROPERTIES(<table_properties>));

注意,來推斷與複製到模式,您必須通過額外的選項:

複製my_table“/道路/ /文件”FILEFORMAT=<格式>FORMAT_OPTIONS(“mergeSchema”=“真正的”)COPY_OPTIONS(“mergeSchema”=“真正的”);

下麵的示例創建一個無模式表稱為δmy_pipe_data和加載以豎線CSV頭:

創建如果存在my_pipe_data;複製my_pipe_data“s3a: / /桶/ pipeData”FILEFORMAT=CSVFORMAT_OPTIONS(“mergeSchema”=“真正的”,“分隔符”=“|”,“頭”=“真正的”)COPY_OPTIONS(“mergeSchema”=“真正的”);

用複製到加載JSON數據

下麵的示例加載JSON數據從五個文件AWS S3的表稱為δmy_json_data。必須創建這個表複製可以被執行。如果數據已經加載的文件,不重新加載該文件的數據。

複製my_json_data“s3: / /桶/ jsonData”FILEFORMAT=JSON文件=(“f1.json”,“f2.json”,“f3.json”,“f4.json”,“f5.json”)——第二個執行不會複製任何數據以來第一個命令已經加載數據複製my_json_data“s3: / /桶/ jsonData”FILEFORMAT=JSON文件=(“f1.json”,“f2.json”,“f3.json”,“f4.json”,“f5.json”)

Avro數據加載和複製

下麵的示例加載Avro穀歌雲存儲數據使用額外的SQL表達式的一部分選擇聲明。

複製my_delta_table(選擇to_date(dt)dt,事件作為測量,數量::“gs: / /桶/ avroData”)FILEFORMAT=AVRO

加載到CSV文件副本

下麵的示例加載CSV文件從Azure代下湖存儲數據abfss: / / container@storageAccount.dfs.core.windows.net/base/path/folder1到一個增量表abfss: / / container@storageAccount.dfs.core.windows.net/deltaTables/target

複製δabfss:/ /容器@storageAccountdfs核心窗戶/deltaTables/目標(選擇關鍵,指數,textData,“constant_value”“abfss: / / container@storageAccount.dfs.core.windows.net/base/path')FILEFORMAT=CSV模式=folder1 / file_ [g] . csv”FORMAT_OPTIONS(“頭”=“真正的”)——下麵的示例加載CSV文件沒有頭ADLS Gen2使用副本。通過鑄造和重命名列的數據,你可以把你想要的數據模式複製δabfss:/ /容器@storageAccountdfs核心窗戶/deltaTables/目標(選擇_c0::長整型數字關鍵,_c1::int指數,_c2textData“abfss: / / container@storageAccount.dfs.core.windows.net/base/path')FILEFORMAT=CSV模式=folder1 / file_ [g] . csv”

忽略腐敗文件同時裝載數據

如果你加載的數據不能閱讀由於一些腐敗問題,這些文件可以跳過設置ignoreCorruptFiles真正的FORMAT_OPTIONS

的結果複製命令返回多少個文件由於腐敗的跳過num_skipped_corrupt_files列。這個指標也顯示了operationMetrics列下numSkippedCorruptFiles在運行描述曆史在三角洲表。

腐敗不是跟蹤文件複製可以加載,所以他們在隨後的運行,如果腐敗是固定的。你可以看到哪些文件是腐敗的運行複製驗證模式。

複製my_table“/道路/ /文件”FILEFORMAT=<格式>(驗證所有]FORMAT_OPTIONS(“ignoreCorruptFiles”=“真正的”)

請注意

ignoreCorruptFiles有磚運行時11.0及以上。