複製到
適用於:磚的SQL磚運行時
將數據從文件位置加載到三角洲表。這是一個retriable和冪等operation-files已經加載的源位置跳過。有關示例,請參見常見的數據加載模式使用副本。
語法
從{複製到target_table source_clause |(從source_clause選擇expression_list)} FILEFORMAT = data_source[驗證[所有| num_rows行]][文件= (file_name [,……])|模式= glob_pattern] [FORMAT_OPTIONS ({data_source_reader_option =價值},……])][COPY_OPTIONS ({copy_option =價值},…])]源_clause source [ WITH ( [ CREDENTIAL { credential_name | (temporary_credential_options) } ] [ ENCRYPTION (encryption_options) ] ) ]
參數
識別現有的差值表。的target_table必須不包括時間規範。
如果表名稱的形式提供了一個位置,如:
delta. /道路/ /表的
、統一目錄管理可以訪問的位置被寫入。你可以寫一個外部位置:定義位置作為外部位置和擁有
寫文件
權限,外部的位置。有
寫文件
命名存儲憑證,提供授權權限寫入一個位置使用:複製成delta. /一些/位置的與(證書<命名憑據>)
看到管理外部位置和存儲憑證為更多的細節。
源
加載的數據文件位置。文件在這個位置必須在指定的格式
FILEFORMAT
。位置是一個URI的形式提供的。訪問源位置可以提供:
可選的名字證書用於訪問存儲位置或寫。你用這個證書隻有在文件不包括在一個位置外部位置。
內聯臨時憑證。
定義源位置作為外部位置和擁有
讀文件
外部位置通過統一目錄的權限。使用一個命名存儲憑證
讀文件
權限,提供授權閱讀從一個位置到統一目錄。
你不需要提供內聯或命名憑據如果路徑已經定義為外部位置有權限使用。看到管理外部位置和存儲憑證為更多的細節。
請注意
如果源文件路徑是一個根路徑,請添加一個斜杠(
/
)的文件路徑,例如,s3: / /桶/
。接受憑證選項:
AWS_ACCESS_KEY
,AWS_SECRET_KEY
,AWS_SESSION_TOKEN
在AWS S3AZURE_SAS_TOKEN
ADLS Gen2和Azure Blob存儲
接受加密選項:
類型=“AWS_SSE_C”
,MASTER_KEY
在AWS S3
看到加載數據用拷貝到臨時憑證。
選擇expression_list
選擇指定的列或表達式之前從源數據複製到三角洲表中。你使用的表達式可以是任何東西
選擇
報表,包括窗口操作。你隻可以使用聚合表達式為全球aggregates-you不能集團通過
列上的語法。FILEFORMAT = data_source
加載源文件的格式。之一
CSV
,JSON
,AVRO
,獸人
,拚花
,文本
,BINARYFILE
。驗證
適用於:磚的SQL磚運行時10.3及以上
被加載到一個表的數據是驗證但不是寫入表中。這些驗證包括:
是否可以解析數據。
表的模式匹配,或者是否需要進化的模式。
是否所有nullability和檢查約束。
默認是驗證所有數據的加載。您可以提供一個被認可的的行數
行
關鍵字,如驗證15行
。的複製成
語句返回的預覽數據50行或更少,當使用小於50的數量行
關鍵字)。文件
一個文件名列表加載,長度達1000。不能指定
模式
。模式
一團模式識別源目錄的文件加載。不能指定
文件
。模式
描述
嗎?
匹配任何單個的字符
*
匹配零個或多個字符
(美國廣播公司)
匹配一個字符的字符集{a, b, c}。
的[a -ž]
匹配一個字符的字符範圍{…z}。
(^)
匹配一個字符不是字符集或距離{}。請注意,
^
字符必須立即出現右邊的支架。{ab、cd}
匹配字符串的字符串集{ab、cd}。
{ab, c{德,跳頻}}
匹配字符串的字符串集{ab, cde, cfh}。
FORMAT_OPTIONS
選項傳遞到Apache火花數據源讀者為指定的格式。看到格式選項為每個文件格式。
COPY_OPTIONS
選擇控製的操作
複製成
命令。力
:布爾,默認假
。如果設置為真正的
禁用,冪等性和文件加載不管他們之前已經加載。mergeSchema
:布爾,默認假
。如果設置為真正的
,可以進化模式根據傳入的數據。
同時調用拷貝到
複製成
支持並發調用相同的表。隻要複製成
同時在調用截然不同的組輸入文件,每次調用最終會成功,否則你會得到一個事務衝突。複製成
不應調用並發來提高性能;一個單一的複製成
命令有多個文件通常執行比並發運行複製成
命令與單個文件。複製成
可以同時調用時:
多個數據生產者沒有一個簡單的方法來協調,不能讓一個調用。
當一個非常大的目錄可攝入子目錄的子目錄。當攝入與大量的目錄文件,磚推薦使用自動加載程序在可能的情況下。
訪問文件元數據
學習如何訪問元數據文件的數據來源,明白了文件元數據列。
格式選項
通用選項
以下選項適用於所有文件格式。
選項 |
---|
ignoreCorruptFiles 類型: 是否忽略腐敗文件。如果這是真的,火花的工作將繼續運行,當遇到損壞文件和已讀過的內容仍將返回。可見, 默認值: |
ignoreMissingFiles 類型: 是否忽略丟失的文件。如果這是真的,火花的工作將繼續運行,當遇到丟失的文件和內容閱讀仍將返回。在磚運行時11.0及以上。 默認值: |
modifiedAfter 類型: 一個可選的時間戳來攝取文件修改時間戳後提供時間戳。 默認值:無 |
modifiedBefore 類型: 一個可選的時間戳來攝取文件修改時間戳之前提供的時間戳。 默認值:無 |
pathGlobFilter或fileNamePattern 類型: 一個潛在的水珠模式提供選擇文件。相當於 默認值:無 |
recursiveFileLookup 類型: 是否加載數據基地內遞歸目錄和跳過分區推斷。 默認值: |
JSON
選項
選項 |
---|
allowBackslashEscapingAnyCharacter 類型: 是否允許反斜杠轉義字符的任何成功。如果未啟用,隻有那些顯式列出字符由JSON規範可以逃脫。 默認值: |
allowComments 類型: 是否允許使用Java, C和c++風格的評論( 默認值: |
allowNonNumericNumbers 類型: 是否允許的集合不是一個數字( 默認值: |
allowNumericLeadingZeros 類型: 是否允許積分數字開始額外(循環)0(例如,000001)。 默認值: |
allowSingleQuotes 類型: 是否允許使用單引號(撇號,性格 默認值: |
allowUnquotedControlChars 類型: 是否允許JSON字符串包含保有的控製字符(ASCII字符值小於32,包括選項卡並換行字符)。 默認值: |
allowUnquotedFieldNames 類型: 是否允許使用非掛牌字段名稱(允許JavaScript,但不是通過JSON規範)。 默認值: |
badRecordsPath 類型: 存儲文件的路徑記錄壞JSON的信息記錄。 默認值:無 |
columnNameOfCorruptRecord 類型: 列存儲記錄,是畸形的,不能被解析。如果 默認值: |
dateFormat 類型: 解析日期的格式字符串。 默認值: |
dropFieldIfAllNull 類型: 是否要忽略所有空值的列或空數組和結構體在模式推理。 默認值: |
編碼或字符集 類型: JSON編碼的文件的名稱。看到 默認值: |
inferTimestamp 類型: 是否嚐試推斷作為時間戳字符串 默認值: |
lineSep 類型: 兩個連續的JSON記錄之間的字符串。 默認值:沒有,涵蓋 |
語言環境 類型: 一個 默認值: |
模式 類型: 解析器模式在處理畸形的記錄。之一 默認值: |
多行 類型: JSON記錄是否跨越多個行。 默認值: |
prefersDecimal 類型: 試圖推斷出字符串 默認值: |
primitivesAsString 類型: 是否要推斷數字和布爾值等基本類型 默認值: |
rescuedDataColumn 類型: 是否收集所有的數據不能被解析由於模式數據類型不匹配或不匹配(包括列套管)到一個單獨的列中。這一列包含在默認情況下使用時自動加載程序。有關更多細節,請參考獲救的數據列是什麼?。 默認值:無 |
timestampFormat 類型: 解析時間戳的格式字符串。 默認值: |
時區 類型: 的 默認值:無 |
CSV
選項
選項 |
---|
badRecordsPath 類型: 存儲文件的路徑記錄壞CSV信息記錄。 默認值:無 |
charToEscapeQuoteEscaping 類型: 使用的用來逃避字符轉義引號。例如,對於以下記錄:
默認值: |
columnNameOfCorruptRecord 類型: 一列來存儲記錄畸形,不能被解析。如果 默認值: |
評論 類型: 定義了字符代表一行評論時發現一行文本的開始。使用 默認值: |
dateFormat 類型: 解析日期的格式字符串。 默認值: |
emptyValue 類型: 空值的字符串表示。 默認值: |
編碼或字符集 類型: CSV文件的編碼的名稱。看到 默認值: |
enforceSchema 類型: 是否強行指定或推斷模式應用到CSV文件。如果啟用了選擇,CSV文件的標題將被忽略。這個選項默認是忽略了在使用自動加載程序來拯救數據並允許模式演化。 默認值: |
逃避 類型: 解析數據時使用的轉義字符。 默認值: |
頭 類型: CSV文件是否包含一個頭。自動加載程序假設推斷模式時文件頭。 默認值: |
ignoreLeadingWhiteSpace 類型: 是否忽略主要空白每個解析值。 默認值: |
ignoreTrailingWhiteSpace 類型: 是否忽略尾隨的空格為每個解析值。 默認值: |
inferSchema 類型: 是否來推斷的數據類型解析CSV或假設所有列的記錄 默認值: |
lineSep 類型: 兩個連續的CSV記錄之間的字符串。 默認值:沒有,涵蓋 |
語言環境 類型: 一個 默認值: |
maxCharsPerColumn 類型: 最大數量的角色期望從一個值來解析。可以用來避免內存錯誤。默認為 默認值: |
maxColumns 類型: 有多少列的硬限製記錄。 默認值: |
mergeSchema 類型: 是否來推斷模式跨多個文件和每個文件的合並模式。默認啟用推斷模式時自動加載程序。 默認值: |
模式 類型: 解析器模式在處理畸形的記錄。之一 默認值: |
多行 類型: CSV檔案是否跨越多個行。 默認值: |
nanValue 類型: 當解析non-a-number值的字符串表示 默認值: |
negativeInf 類型: 當解析的字符串表示負無窮 默認值: |
nullValue 類型: 空值的字符串表示。 默認值: |
parserCaseSensitive(棄用) 類型: 在閱讀文件,是否對齊列的標題模式中聲明的情況下敏感。這是 默認值: |
positiveInf 類型: 當解析的字符串表示正無窮 默認值: |
preferDate 類型: 試圖推斷出字符串作為日期的時間戳。您還必須使用模式推理,通過啟用 默認值: |
報價 類型: 使用的字符轉義值字段分隔符的值。 默認值: |
readerCaseSensitive 類型: 當指定大小寫敏感性行為 默認值: |
rescuedDataColumn 類型: 是否收集所有數據不能被解析由於:一個數據類型不匹配,不匹配和模式(包括列套管)到一個單獨的列中。這一列包含在默認情況下使用時自動加載程序。更多細節請參考獲救的數據列是什麼?。 默認值:無 |
9月或分隔符 類型: 列之間的分隔符字符串。 默認值: |
skipRows 類型: 的行數從一開始就應該被忽略的CSV文件(包括注釋和空行)。如果 默認值: |
timestampFormat 類型: 解析時間戳的格式字符串。 默認值: |
時區 類型: 的 默認值:無 |
unescapedQuoteHandling 類型: 策略來處理非轉義引號。允許選擇:
默認值: |
拚花
選項
選項 |
---|
datetimeRebaseMode 類型: 控製變基之間的日期和時間戳值朱利安和預期的公曆日曆。允許的值: 默認值: |
int96RebaseMode 類型: 控製的變基INT96時間戳值之間朱利安和預期的公曆日曆。允許的值: 默認值: |
mergeSchema 類型: 是否來推斷模式跨多個文件和每個文件的合並模式。 默認值: |
readerCaseSensitive 類型: 當指定大小寫敏感性行為 默認值: |
rescuedDataColumn 類型: 是否收集所有數據不能被解析由於:一個數據類型不匹配,不匹配和模式(包括列套管)到一個單獨的列中。這一列包含在默認情況下使用時自動加載程序。更多細節請參考獲救的數據列是什麼?。 默認值:無 |
AVRO
選項
選項 |
---|
avroSchema 類型: Avro格式的用戶提供的可選模式。閱讀Avro時,這個選項可以設置為一種進化模式,這是兼容與實際Avro但是不同的模式。反序列化的模式將與進化模式一致。例如,如果您設置一個進化模式包含一個額外的列的默認值,讀取結果將包含新列。 默認值:無 |
datetimeRebaseMode 類型: 控製變基之間的日期和時間戳值朱利安和預期的公曆日曆。允許的值: 默認值: |
mergeSchema 類型: 是否來推斷模式跨多個文件和每個文件的合並模式。 默認值: |
readerCaseSensitive 類型: 當指定大小寫敏感性行為 默認值: |
rescuedDataColumn 類型: 是否收集所有數據不能被解析由於:一個數據類型不匹配,不匹配和模式(包括列套管)到一個單獨的列中。這一列包含在默認情況下使用時自動加載程序。更多細節請參考獲救的數據列是什麼?。 默認值:無 |
BINARYFILE
選項
二進製文件沒有任何額外的配置選項。
文本
選項
選項 |
---|
編碼 類型: 文本文件的編碼的名稱。看到 默認值: |
lineSep 類型: 兩個連續的文本記錄之間的字符串。 默認值:沒有,涵蓋 |
wholeText 類型: 是否要讀取一個文件作為一個單獨的記錄。 默認值: |
獸人
選項
選項 |
---|
mergeSchema 類型: 是否來推斷模式跨多個文件和每個文件的合並模式。 默認值: |