COPY INTO
適用於: Databricks SQL Databricks Runtime
將數據從檔案位置載入 Delta 資料表。 這是可重試且等冪的作業,已略過已載入的來源位置中的檔案。 如需範例,請參閱 使用 COPY INTO 的常見數據載入模式。
語法
COPY INTO target_table
FROM { source_clause |
( SELECT expression_list FROM source_clause ) }
FILEFORMAT = data_source
[ VALIDATE [ ALL | num_rows ROWS ] ]
[ FILES = ( file_name [, ...] ) | PATTERN = glob_pattern ]
[ FORMAT_OPTIONS ( { data_source_reader_option = value } [, ...] ) ]
[ COPY_OPTIONS ( { copy_option = value } [, ...] ) ]
source_clause
source [ WITH ( [ CREDENTIAL { credential_name |
(temporary_credential_options) } ]
[ ENCRYPTION (encryption_options) ] ) ]
參數
target_table
識別現有的 Delta 數據表。 target_table不得包含時態規格。
如果數據表名稱是以位置的形式提供,例如:
delta.`/path/to/table`
,Unity 目錄可以控管寫入位置的存取權。 您可以透過:- 將位置定義為外部位置,並具有
WRITE FILES
該外部位置的許可權。 - 擁有
WRITE FILES
具名記憶體認證的許可權,可使用下列方式提供寫入位置的授權:COPY INTO delta.`/some/location` WITH (CREDENTIAL <named-credential>)
如需詳細資訊,請參閱使用 Unity 目錄將 連線 至雲端物件記憶體。
- 將位置定義為外部位置,並具有
source
要從中載入資料的檔案位置。 此位置中的檔案必須具有 中指定的
FILEFORMAT
格式。 位置是以 URI 的形式提供。您可以透過下列方式提供來源位置的存取權:
credential_name
用來存取或寫入記憶體位置的認證選擇性名稱。 只有當檔案位置未包含在 外部位置時,您才會使用此認證。 請參閱 credential_name。
內嵌暫存認證。
將來源位置定義為外部位置,並透過 Unity 目錄擁有
READ FILES
外部位置的許可權。使用具名記憶體認證來
READ FILES
提供授權,以透過 Unity 目錄從位置讀取。
如果路徑已定義為您有權使用的外部位置,則不需要提供內嵌或具名認證。 如需詳細資訊,請參閱 建立外部位置以將雲端記憶體連線至 Azure Databricks 。
注意
如果來源檔案路徑是根路徑,請在檔案路徑結尾新增斜線 (
/
),例如s3://my-bucket/
。接受的認證選項包括:
AZURE_SAS_TOKEN
適用於 ADLS Gen2 和 Azure Blob 儲存體AWS_ACCESS_KEY
、AWS_SECRET_KEY
、 和AWS_SESSION_TOKEN
for AWS S3
接受的加密選項如下:
TYPE = 'AWS_SSE_C'
適用於 AWS S3 的、 和MASTER_KEY
請參閱 使用 COPY INTO 搭配暫存認證載入數據。
SELECT expression_list
先從源數據選取指定的數據行或表達式,再複製到 Delta 數據表。 表示式可以是您搭配
SELECT
語句使用的任何專案,包括窗口作業。 您只能針對全域匯總使用匯總表達式,而無法在GROUP BY
具有此語法的數據行上使用匯總表達式。FILEFORMAT = data_source
要載入的來源檔案格式。 、
JSON
、、、AVRO
、TEXT
ORC
PARQUET
、、BINARYFILE
的CSV
其中一個。VALIDATE
適用於: Databricks SQL Databricks Runtime 10.4 LTS 和更新版本
要載入數據表的數據會經過驗證,但不會寫入數據表。 這些驗證包括:
- 是否可以剖析數據。
- 架構是否符合數據表的架構,還是需要演進架構。
- 是否符合所有可為 Null 和檢查條件約束。
預設值是驗證要載入的所有數據。 您可以提供資料列,以關鍵字進行驗證
ROWS
,例如VALIDATE 15 ROWS
。 語句COPY INTO
會傳回 50 個數據列或小於 50 個數位搭配ROWS
關鍵詞使用時的數據預覽。FILES
要載入的檔名清單,限制為1000個檔案。 指定時無法搭配
PATTERN
。PATTERN
Glob 模式,識別要從來源目錄載入的檔案。 指定時無法搭配
FILES
。模式 描述 ?
比對任何單一字元 *
比對零或多個字元 [abc]
比對字元集 {a,b,c} 的單一字元。 [a-z]
比對字元範圍 {a... 中的單一字元...z}. [^a]
比對不是字元集或範圍 {a} 的單一字元。 請注意, ^
字元必須緊接在左括弧右邊。{ab,cd}
比對字串集 {ab, cd} 中的字串。 {ab,c{de, fh}}
比對字串集 {ab, cde, cfh} 中的字串。 FORMAT_OPTIONS
要傳遞至指定格式之 Apache Spark 數據源讀取器的選項。 請參閱 每個檔案格式的格式選項 。
COPY_OPTIONS
控制命令作業的選項
COPY INTO
。force
:布爾值,預設值false
。 如果設定為true
,則會停用等冪性,而且檔案會載入,而不論檔案之前是否已載入。mergeSchema
:布爾值,預設值false
。 如果設定為true
,則可以根據傳入數據來演進架構。
同時叫 COPY INTO
用
COPY INTO
支援對相同數據表的並行調用。 只要COPY INTO
在不同的輸入檔集上同時叫用,每個叫用最終應該會成功,否則您就會發生交易衝突。 COPY INTO
不應同時叫用以改善效能;具有多個檔案的單 COPY INTO
一命令通常執行比每個單一檔案執行並行 COPY INTO
命令更好。 COPY INTO
當:
- 多個數據產生者沒有簡單的協調方式,而且無法進行單一調用。
- 當可以依子目錄擷取非常大型的目錄時。 擷取具有大量檔案的目錄時,Databricks 建議盡可能使用 自動載入器 。
存取檔案元數據
若要瞭解如何存取檔案型數據源的元數據,請參閱 檔案元數據數據行。
格式選項
一般選項
下列選項適用於所有檔案格式。
選項 |
---|
ignoreCorruptFiles 類型: Boolean (英文)是否要忽略損毀的檔案。 如果為 true,Spark 作業會在遇到損毀的檔案時繼續執行,而且仍然會傳回已讀取的內容。 可檢視,如 中所示 numSkippedCorruptFiles operationMetrics Delta Lake 歷程記錄的數據行。 適用於 Databricks Runtime 11.3 LTS 和更新版本。預設值: false |
ignoreMissingFiles 類型: Boolean (英文)是否忽略遺漏的檔案。 如果為 true,Spark 作業會在遇到遺失的檔案時繼續執行,而且仍然會傳回已讀取的內容。 適用於 Databricks Runtime 11.3 LTS 和更新版本。 預設值: false (true 針對 COPY INTO ) |
modifiedAfter 類型: Timestamp String ,例如 2021-01-01 00:00:00.000000 UTC+0 選擇性時間戳,用來擷取在提供時間戳之後具有修改時間戳的檔案。 預設值:無 |
modifiedBefore 類型: Timestamp String ,例如 2021-01-01 00:00:00.000000 UTC+0 選擇性時間戳,用來內嵌在提供時間戳之前具有修改時間戳的檔案。 預設值:無 |
pathGlobFilter 或 fileNamePattern 類型: String (英文)提供選擇檔案的潛在 Glob 模式。 相當於 COPY INTO 中的 PATTERN 。 fileNamePattern 可以在中使用 read_files 。預設值:無 |
recursiveFileLookup 類型: Boolean (英文)是否要在架構推斷期間略過數據分割推斷。 這不會影響載入哪些檔案。 預設值: false |
JSON
選項
選項 |
---|
allowBackslashEscapingAnyCharacter 類型: Boolean (英文)是否允許反斜杠逸出任何成功字元。 如果未啟用,則只能逸出 JSON 規格明確列出的字元。 預設值: false |
allowComments 類型: Boolean (英文)是否允許在剖析的內容中使用 Java、C 和 C++ 樣式批注( '/' 、 '*' 和 '//' 品種)。預設值: false |
allowNonNumericNumbers 類型: Boolean (英文)是否允許一組非數字標記 NaN 做為合法的浮點數值。預設值: true |
allowNumericLeadingZeros 類型: Boolean (英文)是否允許整數以額外的(可忽略)零開頭(例如, 000001 )。預設值: false |
allowSingleQuotes 類型: Boolean (英文)是否允許使用單引號(單引號,字元 '\' )來引用字串(名稱和字串值)。預設值: true |
allowUnquotedControlChars 類型: Boolean (英文)是否允許 JSON 字串包含未逸出的控制字元(值為小於 32 的 ASCII 字元,包括製表符和行摘要字元)。 預設值: false |
allowUnquotedFieldNames 類型: Boolean (英文)是否允許使用未加上批注的功能變數名稱(JavaScript 允許,但不是 JSON 規格所允許的功能變數名稱)。 預設值: false |
badRecordsPath 類型: String (英文)用來記錄不良 JSON 記錄相關信息之檔案的路徑。 預設值:無 |
columnNameOfCorruptRecord 類型: String (英文)儲存格式不正確且無法剖析之記錄的數據行。 mode 如果剖析的 設為 DROPMALFORMED ,則此數據行會是空的。預設值: _corrupt_record |
dateFormat 類型: String (英文)剖析日期字串的格式。 預設值: yyyy-MM-dd |
dropFieldIfAllNull 類型: Boolean (英文)是否要在架構推斷期間忽略所有 Null 值或空數位和結構的數據行。 預設值: false |
encoding 或 charset 類型: String (英文)JSON 檔案編碼的名稱。 如您選取選項清單,請參閱 java.nio.charset.Charset 。 當 是 true 時multiline ,您無法使用 UTF-16 和 UTF-32 。預設值: UTF-8 |
inferTimestamp 類型: Boolean (英文)是否嘗試將時間戳字串推斷為 TimestampType 。 設定為 時true ,架構推斷可能需要較長的時間。 您必須啟用 cloudFiles.inferColumnTypes 才能與自動載入器搭配使用。預設值: false |
lineSep 類型: String (英文)兩筆連續 JSON 記錄之間的字串。 默認值:無,其中涵蓋 \r 、 \r\n 和 \n |
locale 類型: String (英文)java.util.Locale 標識碼。 影響 JSON 內的預設日期、時間戳和十進位剖析。預設值: US |
mode 類型: String (英文)圍繞處理格式不正確記錄的剖析器模式。 的其中 'PERMISSIVE' 一個 ,'DROPMALFORMED' 或 'FAILFAST' 。預設值: PERMISSIVE |
multiLine 類型: Boolean (英文)JSON 記錄是否跨越多行。 預設值: false |
prefersDecimal 類型: Boolean (英文)嘗試盡可能推斷字串, DecimalType 而不是 float 或 double 類型。 您也必須藉由啟用 來使用架構推斷inferSchema 或搭配自動載入器使用 cloudFiles.inferColumnTypes 。預設值: false |
primitivesAsString 類型: Boolean (英文)是否將數字和布林值等基本類型推斷為 StringType 。預設值: false |
readerCaseSensitive 類型: Boolean (英文)指定啟用時的 rescuedDataColumn 區分大小寫行為。 如果為 true,請解救名稱與架構不同的數據行;否則,請以不區分大小寫的方式讀取數據。 可在 Databricks Runtime 中使用13.3 和更新版本。 預設值: true |
rescuedDataColumn 類型: String (英文)是否要收集因數據類型不符或架構不符(包括數據行大小寫)而無法剖析的所有數據至個別數據行。 使用自動載入器時,預設會包含此資料行。 如需詳細資訊,請參閱 什麼是獲救的數據行?。 預設值:無 |
timestampFormat 類型: String (英文)剖析時間戳字串的格式。 預設值: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] |
timeZone 類型: String (英文)java.time.ZoneId 剖析時間戳與日期時要使用的 。預設值:無 |
CSV
選項
選項 |
---|
badRecordsPath 類型: String (英文)用來記錄不良 CSV 記錄相關信息之檔案的路徑。 預設值:無 |
charToEscapeQuoteEscaping 類型: Char (英文)用來逸出逸出引號之字元的字元。 例如,針對下列記錄: : [ " a\\", b ] * 如果要逸出 '\' 的字元未定義,則不會剖析記錄。 剖析器會讀取字元: [a],[\],["],[,],[ ],[b] 並擲回錯誤,因為它找不到右引號。* 如果要逸出 '\' 的字元定義為 '\' ,則會以 2 個值讀取記錄: [a\] 和 [b] 。預設值: '\0' |
columnNameOfCorruptRecord > [!注意] >> 支援自動載入器。 不支援 COPY INTO 。類型: String (英文)儲存格式不正確且無法剖析之記錄的數據行。 mode 如果剖析的 設為 DROPMALFORMED ,則此數據行會是空的。預設值: _corrupt_record |
comment 類型: Char (英文)定義在文字行開頭找到時,代表行批註的字元。 使用 '\0' 來停用批注略過。預設值: '\u0000' |
dateFormat 類型: String (英文)剖析日期字串的格式。 預設值: yyyy-MM-dd |
emptyValue 類型: String (英文)空值的字串表示。 預設值: "" |
encoding 或 charset 類型: String (英文)CSV 檔案編碼的名稱。 如您選取選項清單,請參閱 java.nio.charset.Charset 。 UTF-16 當 為 true 時multiline ,不能使用 和 UTF-32 。預設值: UTF-8 |
enforceSchema 類型: Boolean (英文)是否強制將指定的或推斷的架構套用至 CSV 檔案。 如果啟用 此選項,則會忽略 CSV 檔案的標頭。 使用自動載入器來拯救數據並允許架構演進時,預設會忽略此選項。 預設值: true |
escape 類型: Char (英文)剖析數據時要使用的逸出字元。 預設值: '\' |
header 類型: Boolean (英文)CSV 檔案是否包含標頭。 自動載入器假設檔案在推斷架構時具有標頭。 預設值: false |
ignoreLeadingWhiteSpace 類型: Boolean (英文)是否要忽略每個剖析值的前置空格符。 預設值: false |
ignoreTrailingWhiteSpace 類型: Boolean (英文)是否要忽略每個剖析值的尾端空格符。 預設值: false |
inferSchema 類型: Boolean (英文)是要推斷剖析 CSV 記錄的數據類型,還是假設所有資料行都是 StringType 。 如果設定為 true ,則需要額外的傳遞數據。 針對 [自動載入器],請改用 cloudFiles.inferColumnTypes 。預設值: false |
lineSep 類型: String (英文)兩筆連續 CSV 記錄之間的字串。 默認值:無,其中涵蓋 \r 、 \r\n 和 \n |
locale 類型: String (英文)java.util.Locale 標識碼。 影響 CSV 內的預設日期、時間戳和小數點剖析。預設值: US |
maxCharsPerColumn 類型: Int (英文)預期值要剖析的字元數上限。 可用來避免記憶體錯誤。 默認為 -1 ,這表示無限制。預設值: -1 |
maxColumns 類型: Int (英文)記錄可以擁有多少數據行的硬性限制。 預設值: 20480 |
mergeSchema 類型: Boolean (英文)是否要跨多個檔案推斷架構,以及合併每個檔案的架構。 在推斷架構時,預設為自動載入器啟用。 預設值: false |
mode 類型: String (英文)圍繞處理格式不正確記錄的剖析器模式。 的其中 'PERMISSIVE' 一個 ,'DROPMALFORMED' 和 'FAILFAST' 。預設值: PERMISSIVE |
multiLine 類型: Boolean (英文)CSV 記錄是否跨越多行。 預設值: false |
nanValue 類型: String (英文)剖析 FloatType 和數據 DoubleType 行時,非數位值的字串表示。預設值: "NaN" |
negativeInf 類型: String (英文)剖析 FloatType 或 DoubleType 數據行時,負無限大的字串表示。預設值: "-Inf" |
nullValue 類型: String (英文)Null 值的字串表示。 預設值: "" |
parserCaseSensitive (已淘汰)類型: Boolean (英文)讀取檔案時,是否要將標頭中宣告的數據行與架構大小寫區分大小寫對齊。 true 這預設為自動載入器。 如果啟用,則會在中 rescuedDataColumn 獲救因案例而異的數據行。 這個選項已被取代為 readerCaseSensitive 。預設值: false |
positiveInf 類型: String (英文)剖析 FloatType 或 DoubleType 數據行時,正無限的字串表示。預設值: "Inf" |
preferDate 類型: Boolean (英文)嘗試盡可能將字串推斷為日期,而不是時間戳。 您也必須藉由啟用 inferSchema 或使用 來使用架構推斷cloudFiles.inferColumnTypes 使用自動載入器。預設值: true |
quote 類型: Char (英文)用於逸出欄位分隔符為值的字元。 預設值: " |
readerCaseSensitive 類型: Boolean (英文)指定啟用時的 rescuedDataColumn 區分大小寫行為。 如果為 true,請解救名稱與架構不同的數據行;否則,請以不區分大小寫的方式讀取數據。預設值: true |
rescuedDataColumn 類型: String (英文)是否要收集因下列原因而無法剖析的所有數據:數據類型不符,以及架構不符(包括數據行大小寫)到個別的數據行。 使用自動載入器時,預設會包含此資料行。 如需詳細資訊, 請參閱什麼是獲救的數據行?。 預設值:無 |
sep 或 delimiter 類型: String (英文)數據行之間的分隔符字串。 預設值: "," |
skipRows 類型: Int (英文)應該忽略之 CSV 檔案開頭的數據列數目(包括批注和空白數據列)。 如果 header 為 true,則標頭會是第一個未裁剪和未批註的數據列。預設值: 0 |
timestampFormat 類型: String (英文)剖析時間戳字串的格式。 預設值: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] |
timeZone 類型: String (英文)java.time.ZoneId 剖析時間戳與日期時要使用的 。預設值:無 |
unescapedQuoteHandling 類型: String (英文)處理未逸出引號的策略。 允許的選項: * STOP_AT_CLOSING_QUOTE :如果在輸入中找到未逸出的引號,請累積引號字元,並繼續將值剖析為引號值,直到找到結尾引號為止。* BACK_TO_DELIMITER :如果在輸入中找到未逸出的引號,請將值視為未加上引號的值。 這會使剖析器累積目前剖析值的所有字元,直到找到 所 sep 定義的分隔符為止。 如果在值中找不到分隔符,剖析器會繼續從輸入累積字元,直到找到分隔符或行尾為止。* STOP_AT_DELIMITER :如果在輸入中找到未逸出的引號,請將值視為未加上引號的值。 這會使剖析器累積所有字元,直到所 sep 定義的分隔符,或在輸入中找到行尾結束符為止。* SKIP_VALUE :如果在輸入中找到未逸出的引號,則會略過針對指定值剖析的內容(直到找到下一個分隔符為止),並將改為產生 中 nullValue 設定的值。* RAISE_ERROR :如果在輸入中找到未逸出的引號,則為TextParsingException 將會擲回。預設值: STOP_AT_DELIMITER |
XML
選項
選項 | 描述 | 範圍 |
---|---|---|
rowTag |
要視為數據列之 XML 檔案的數據列標記。 在範例 XML <books> <book><book>...<books> 中,適當的值為 book 。 這是必要選項。 |
讀取 |
samplingRatio |
定義用於架構推斷的數據列分數。 XML 內建函式會忽略此選項。 預設值:1.0 。 |
讀取 |
excludeAttribute |
是否要排除元素中的屬性。 預設值:false 。 |
讀取 |
mode |
在剖析期間處理損毀記錄的模式。PERMISSIVE :若為損毀的記錄,請將格式錯誤的字串放入 所設定 columnNameOfCorruptRecord 的欄位中,並將格式不正確的字段設定為 null 。 若要保留損毀的記錄,您可以在使用者定義的架構中設定 string 名為 columnNameOfCorruptRecord 的類型字段。 如果架構沒有 欄位,剖析期間會捨棄損毀的記錄。 推斷架構時,剖析器會隱含地在輸出架構中加入 columnNameOfCorruptRecord 字段。DROPMALFORMED :忽略損毀的記錄。 XML 內建函式不支援此模式。FAILFAST :當剖析器符合損毀的記錄時,擲回例外狀況。 |
讀取 |
inferSchema |
如果 true 為 ,則嘗試推斷每個產生的 DataFrame 數據行的適當類型。 如果 false 為 ,則所有產生的數據行都是 型別 string 。 預設:true . XML 內建函式會忽略此選項。 |
讀取 |
columnNameOfCorruptRecord |
允許重新命名包含所建立格式不正確的字串的新欄位PERMISSIVE 模式。 預設值:spark.sql.columnNameOfCorruptRecord 。 |
讀取 |
attributePrefix |
屬性的前置詞,可區分屬性與元素。 這會是功能變數名稱的前置詞。 預設值為 _ 。 可以空白讀取 XML,但不能用於寫入。 |
讀取、寫入 |
valueTag |
用於元素中同時具有 attribute(s) 或子元素(s) 元素之字元數據的標記。 用戶可以在架構中指定 valueTag 欄位,或者當字元數據與其他元素或屬性出現在元素中時,它會自動新增。 預設:_VALUE |
read,write |
encoding |
若要讀取,請依照指定的編碼類型譯碼 XML 檔案。 若要寫入,請指定已儲存 XML 檔案的編碼(charset)。 XML 內建函式會忽略此選項。 預設值:UTF-8 。 |
讀取、寫入 |
ignoreSurroundingSpaces |
定義是否應該略過讀取值周圍的空格符。 預設值:true 。 只會忽略空格符數據。 |
讀取 |
rowValidationXSDPath |
選擇性 XSD 檔案的路徑,用來個別驗證每個數據列的 XML。 無法驗證的數據列會被視為如上所示剖析錯誤。 XSD 不會影響提供的架構或推斷。 | 讀取 |
ignoreNamespace |
如果 true 為 ,則會忽略 XML 元素和屬性上的命名空間前置詞。 例如,標記 <abc:author> 和 <def:author> 會被視為兩者都只是 <author> 。 元素上 rowTag 不能忽略命名空間,只能忽略其讀取子系。 即使 ,XML 剖析也不會感知 false 命名空間。 預設值:false 。 |
讀取 |
timestampFormat |
遵循日期時間模式格式的自定義時間戳格式字串。 這適用於 timestamp 類型。 預設值:yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] 。 |
讀取、寫入 |
timestampNTZFormat |
時間戳的自定義格式字串,不含遵循日期時間模式格式的時區。 這適用於 TimestampNTZType 類型。 預設:yyyy-MM-dd'T'HH:mm:ss[.SSS] |
讀取、寫入 |
dateFormat |
遵循 日期時間模式 格式的自訂日期格式字串。 這適用於日期類型。 預設值:yyyy-MM-dd 。 |
讀取、寫入 |
locale |
將地區設定設定為IETF BCP 47 格式的語言標記。 例如, locale 在剖析日期和時間時間戳時會使用 。 預設值:en-US 。 |
讀取 |
rootTag |
XML 檔案的根標記。 例如,在 中 <books> <book><book>...</books> ,適當的值為 books 。 您可以藉由指定類似 books foo="bar" 的值來包含基本屬性。 預設值:ROWS 。 |
write |
declaration |
每個輸出 XML 檔案開頭要寫入的 XML 宣告內容,在 rootTag 之前。 例如,的值 foo 會導致 <?xml foo?> 寫入。 設定為要隱藏的空字串。 預設:version="1.0" encoding="UTF-8" standalone="yes" . |
write |
arrayElementName |
在寫入時,以數位值數據行的每個專案括住的 XML 項目名稱。 預設值:item 。 |
write |
nullValue |
設定 Null 值的字串表示。 預設值:字串 null 。 當這是 null 時,剖析器不會寫入字段的屬性和元素。 |
讀取、寫入 |
compression |
儲存至檔案時要使用的壓縮程序代碼。 這可以是其中一個已知的不區分大小寫的縮短名稱(none 、、bzip2 、、snappy', and<br> gzip lz4 deflate』)。 XML 內建函式會忽略此選項。 預設值:none 。 |
write |
validateName |
如果為 true,則會在 XML 專案名稱驗證失敗時擲回錯誤。 例如,SQL 功能變數名稱可以有空格,但 XML 元素名稱不能。 預設:true . |
write |
readerCaseSensitive |
指定已啟用 rescuedDataColumn 時的區分大小寫行為。 如果為 true,請解救名稱與架構不同的數據行;否則,請以不區分大小寫的方式讀取數據。 預設值:true 。 |
讀取 |
rescuedDataColumn |
是否要收集由於數據類型不符和架構不符(包括數據行大小寫)到個別數據行而無法剖析的所有數據。 使用自動載入器時,預設會包含此資料行。 如需詳細資訊,請參閱 什麼是獲救的數據行?。 默認值:無。 | 讀取 |
PARQUET
選項
選項 |
---|
datetimeRebaseMode 類型: String (英文)控制 Julian 與 Proleptic 公曆之間的 DATE 和 TIMESTAMP 值重排。 允許的值: EXCEPTION 、 LEGACY 、 和CORRECTED .預設值: LEGACY |
int96RebaseMode 類型: String (英文)控制 Julian 和 Proleptic 公曆之間的 INT96 時間戳值重疊。 允許的值: EXCEPTION 、 LEGACY 、 和CORRECTED .預設值: LEGACY |
mergeSchema 類型: Boolean (英文)是否要跨多個檔案推斷架構,以及合併每個檔案的架構。 預設值: false |
readerCaseSensitive 類型: Boolean (英文)指定啟用時的 rescuedDataColumn 區分大小寫行為。 如果為 true,請解救名稱與架構不同的數據行;否則,請以不區分大小寫的方式讀取數據。預設值: true |
rescuedDataColumn 類型: String (英文)是否要收集因下列原因而無法剖析的所有數據:數據類型不符,以及架構不符(包括數據行大小寫)到個別的數據行。 使用自動載入器時,預設會包含此資料行。 如需詳細資訊, 請參閱什麼是獲救的數據行?。 預設值:無 |
AVRO
選項
選項 |
---|
avroSchema 類型: String (英文)Avro 格式的使用者所提供的選擇性架構。 讀取 Avro 時,這個選項可以設定為進化的架構,這與實際的 Avro 架構相容但不同。 還原串行化架構會與不斷演進的架構一致。 例如,如果您設定一個進化的架構,其中包含一個具有預設值的額外數據行,讀取結果也會包含新的數據行。 預設值:無 |
datetimeRebaseMode 類型: String (英文)控制 Julian 與 Proleptic 公曆之間的 DATE 和 TIMESTAMP 值重排。 允許的值: EXCEPTION 、 LEGACY 、 和CORRECTED .預設值: LEGACY |
mergeSchema 類型: Boolean (英文)是否要跨多個檔案推斷架構,以及合併每個檔案的架構。 mergeSchema 若為 Avro,則不會放寬數據類型。預設值: false |
readerCaseSensitive 類型: Boolean (英文)指定啟用時的 rescuedDataColumn 區分大小寫行為。 如果為 true,請解救名稱與架構不同的數據行;否則,請以不區分大小寫的方式讀取數據。預設值: true |
rescuedDataColumn 類型: String (英文)是否要收集因下列原因而無法剖析的所有數據:數據類型不符,以及架構不符(包括數據行大小寫)到個別的數據行。 使用自動載入器時,預設會包含此資料行。 如需詳細資訊, 請參閱什麼是獲救的數據行?。 預設值:無 |
BINARYFILE
選項
二進位檔沒有任何額外的組態選項。
TEXT
選項
選項 |
---|
encoding 類型: String (英文)文字檔編碼的名稱。 如您選取選項清單,請參閱 java.nio.charset.Charset 。預設值: UTF-8 |
lineSep 類型: String (英文)兩筆連續 TEXT 記錄之間的字串。 默認值:無,涵蓋 \r 、 \r\n 和 \n |
wholeText 類型: Boolean (英文)是否要將檔案讀取為單一記錄。 預設值: false |
ORC
選項
選項 |
---|
mergeSchema 類型: Boolean (英文)是否要跨多個檔案推斷架構,以及合併每個檔案的架構。 預設值: false |