共用方式為


COPY INTO

適用於:勾選為「是」Databricks SQL 勾選為「是」Databricks Runtime

將數據從檔案位置載入 Delta 資料表。 這是一個可重試且等冪的操作——在來源地點中已經載入的檔案會被跳過。 即使檔案自載入後已修改,也是如此。 如需範例,請參閱 使用 COPY INTO的常見資料載入模式。

語法

COPY INTO target_table [ BY POSITION | ( col_name [ , <col_name> ... ] ) ]
  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 目錄 連線到雲端物件記憶體和服務。

  • BY POSITION |(col_name [ , <col_name> ... ] )

    按照序號位置比對源數據欄,對應至目標表的欄位。 相符數據行的類型轉換會自動完成。

    此參數僅支援無標頭 CSV 檔案格式。 您必須指定 FILEFORMAT = CSVFORMAT_OPTIONS 也必須設定為 ("headers" = "false")FORMAT_OPTIONS ("headers" = "false") 是預設值)。

    語法選項 1: BY POSITION

    • 依序數位置自動比對源數據行與目標數據表數據行。
      • 默認名稱比對不會用於比對。
      • IDENTITY 列和目標表中的 GENERATED 列在比對源表的列時會被忽略。
      • 如果源數據行數目不等於篩選的目標數據表數據行, COPY INTO 則引發錯誤。

    語法選項 2: ( col_name [ , <col_name> ... ] )

    • 使用括弧中的目標數據表數據行名稱清單,依相對序數位置比對源數據行與指定的目標數據表數據行,並以逗號分隔。
      • 原始數據表數據行順序和數據行名稱不會用於比對。
      • IDENTITY 欄和 GENERATED 欄不能在欄名稱清單中指定,否則 COPY INTO 會引發錯誤。
      • 無法複製指定的數據列。
      • 當源數據行數目不等於指定的數據表數據行時, COPY INTO 引發錯誤。
      • 針對未在資料行名稱清單中指定的數據行, COPY INTO 如果有任何,則會指派預設值,否則指派 NULL 。 如果任何欄不允許為 Null,COPY INTO 就會引發錯誤。
  • source

    要從中載入資料的檔案位置。 此位置中的檔案必須具有 中指定的 FILEFORMAT格式。 位置是以 URI 的形式提供。

    您可以透過下列方式提供來源位置的存取權:

    • credential_name

      用來存取或寫入記憶體位置的認證選擇性名稱。 只有當檔案位置未包含在 外部位置時,您才會使用此認證。 請參閱 credential_name

    • 內嵌暫存認證。

    • 將來源位置設定為外部位置,並透過 Unity Catalog 擁有對該外部位置的 READ FILES 許可權。

    • 使用具名的儲存憑證和具有READ FILES許可權,以透過 Unity 目錄授權從某個位置讀取。

    如果路徑已定義為您有權使用的外部位置,則不需要提供內嵌或具名認證。 如需詳細資訊,請參閱 建立外部位置以將雲端記憶體連線至 Azure Databricks

    注意

    如果來源檔案路徑是根路徑,請在檔案路徑結尾新增斜線 (/),例如 s3://my-bucket/

    接受的認證選項包括:

    • AZURE_SAS_TOKEN適用於 ADLS Gen2 和 Azure Blob 儲存體
    • AWS_ACCESS_KEYAWS_SECRET_KEY、 和 AWS_SESSION_TOKEN for AWS S3

    接受的加密選項如下:

    • TYPE = 'AWS_SSE_C'MASTER_KEY 適用於 AWS S3

請參閱 使用具有暫存認證的 COPY INTO 載入資料

  • SELECT expression_list

    先從源數據選取指定的數據行或表達式,再複製到 Delta 數據表。 表示式可以是您搭配 SELECT 語句使用的任何內容,包括視窗操作。 您只能針對全域匯總使用匯總表達式,而無法在 GROUP BY 具有此語法的數據行上使用匯總表達式。

  • FILEFORMAT = data_source

    要載入的來源檔案格式。 在 CSVJSONAVROORCPARQUETTEXTBINARYFILE 中其中一個。

  • VALIDATE

    適用於:確認勾選「是」 Databricks SQL 確認勾選「是」 Databricks Runtime 10.4 LTS 及以上版本

    要載入數據表的數據會經過驗證,但不會寫入數據表。 這些驗證包括:

    • 是否可以剖析數據。
    • 架構是否與數據表的結構相符,或者需要修改架構。
    • 是否滿足所有可為 Null 的屬性和檢查約束條件。

    預設值是驗證要載入的所有數據。 您可以提供若干資料列,以ROWS關鍵字進行驗證,例如VALIDATE 15 ROWS。 語句 COPY INTO 當使用小於 50 的數字搭配 ROWS 關鍵詞時,會返回 50 行或更少的數據預覽。

  • 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 中所示
Delta Lake 歷程記錄的 operationMetrics 欄位。 在 Databricks Runtime 11.3 LTS 和更新版本中可用。
預設值:false
ignoreMissingFiles
類型:Boolean
是否略過遺漏的檔案。 如果為 true,則 Spark 作業會在遇到遺漏的檔案時繼續執行,而且仍然會傳回已讀取的內容。 在 Databricks Runtime 11.3 LTS 和更新版本中可用。
預設值:自動載入器的 falsetrue 用於 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
一個選用的時間戳記,用於處理修改時間戳記早於所提供時間戳記的檔案。
預設值:無
pathGlobFilterfileNamePattern
類型:String
用於選擇檔案的一種可能的 glob 模式。 相當於
PATTERN (舊版) 中的 COPY INTOfileNamePattern 可以在 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
encodingcharset
類型:String
JSON 檔案編碼的名稱。 如需選項清單,請參閱 java.nio.charset.Charset。 當 UTF-16UTF-32 時,您無法使用 multilinetrue
預設值: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 類型,而不是浮點數或雙精度數類型。 您還必須透過啟用模式推斷功能來使用結構描述推斷:
inferSchema 或將 cloudFiles.inferColumnTypes 與自動載入器搭配使用。
預設值:false
primitivesAsString
類型: Boolean
是否將數字和布林值等基本類型推斷為 StringType
預設值:false
readerCaseSensitive
類型:Boolean
當啟用 rescuedDataColumn 時,指定其區分大小寫的行為。 如果為 true,則修復名稱因大小寫而與結構描述不同的資料行;否則,請以不區分大小寫的方式讀取資料。 可以在 Databricks Runtime 中使用
13.3 和以上。
預設值:true
rescuedDataColumn
類型:String
是否將因資料類型不匹配或架構不匹配(包括欄位大小寫)而無法解析的所有資料收集到另一個資料行。 使用自動載入器時,系統會預設包含這個欄位。 如需詳細資料,請參閱什麼是復原的資料欄位?
COPY INTO (舊版) 不支援已獲救的數據行,因為您無法使用 COPY INTO手動設定架構。 Databricks 建議針對大部分的擷取案例使用自動載入器。
預設值:無
singleVariantColumn
類型:String
是否擷取整個 JSON 文件,將其剖析為以指定字串作為資料行名稱的單一 Variant 資料行。 如果停用,JSON 欄位將會匯入至個別的資料行。
預設值:無
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
空值的字串表示法。
預設值:""
encodingcharset
類型:String
CSV 檔案編碼的名稱。 如需選項清單,請參閱 java.nio.charset.Charset。 當 UTF-16UTF-32 時,不能使用 multilinetrue
預設值: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
在解析 FloatTypeDoubleType 欄位時,非數字值的字符串表示。
預設值:"NaN"
negativeInf
類型:String
解析 FloatTypeDoubleType 欄位時所使用的負無限大的字串表示法。
預設值:"-Inf"
nullValue
類型:String
空值的字串表現形式。
預設值:""
parserCaseSensitive (已取代)
類型:Boolean
讀取檔案時,是否要區分大小寫地將標頭中宣告的資料行與結構定義對齊。 對於自動載入器,此選項預設為 true。 如果啟用,則會在 rescuedDataColumn 中修復大小寫不同的資料行。 此選項已取代為 readerCaseSensitive
預設值:false
positiveInf
類型: String
在解析 FloatTypeDoubleType 欄時,正無限大的字串表示法。
預設值:"Inf"
preferDate
類型:Boolean
如果可能,嘗試將字串推斷為日期而不是時間戳記。 您還必須啟用 inferSchema 或使用 "模式推斷"。
cloudFiles.inferColumnTypes 搭配自動載入器。
預設值:true
quote
類型:Char
用於當欄位分隔符是值的一部分時跳脫值的字元。
預設值:"
readerCaseSensitive
類型:Boolean
指定啟用 rescuedDataColumn 時區分大小寫的行為。 如果為 true,則修復名稱因大小寫而與結構描述不同的資料行;否則,請以不區分大小寫的方式讀取資料。
預設值:true
rescuedDataColumn
類型:String
是否將因資料類型不符和結構描述不符(包括欄位大小寫)而無法解析的所有資料收集至單獨欄位。 使用自動載入器時,系統會預設包含這個欄位。 如需詳細資料,請參閱什麼是復原的資料欄?
COPY INTO (舊版) 不支援已獲救的數據行,因為您無法使用 COPY INTO手動設定架構。 Databricks 建議針對大部分的擷取案例使用自動載入器。
預設值:無
sepdelimiter
類型: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。 若要保留損毀的記錄,您可以在使用者定義的結構描述中設定名為 stringcolumnNameOfCorruptRecord 類型欄位。 如果方案中沒有該欄位,解析過程中會捨棄損壞的記錄。 推斷結構描述時,剖析器會隱含地在輸出結構描述中新增 columnNameOfCorruptRecord 欄位。
DROPMALFORMED:略過損毀的記錄。 XML 內建函數不支援此模式。
FAILFAST:解析器遇到損毀的記錄時拋出例外狀況。
已讀
inferSchema 如果為 true,則嘗試推斷每個產生的 DataFrame 資料行的適當類型。 如果為 false,則所有產生的資料行都是 string 類型。 預設:
true. XML 內建函數會略過此選項。
閱讀
columnNameOfCorruptRecord 允許重新命名包含由錯誤字符串創建的新欄位。
PERMISSIVE 模式。 預設值:spark.sql.columnNameOfCorruptRecord
閱讀
attributePrefix 屬性的前置詞,用於區分屬性與元素。 這將是欄位名稱的前置詞。 預設值為 _。 讀取 XML 時可以為空,但寫入時不能為空。 讀取、寫入
valueTag 用於包含字符資料且同時具有屬性或子元素的元素標籤。 使用者可以在結構描述中指定 valueTag 欄位,或者當字元資料存在於具有其他元素或屬性的元素中時,該欄位將在結構描述推斷期間自動新增。 預設:_VALUE 讀取、寫入
encoding 讀取時依據指定的編碼類型解碼 XML 檔案。 對於寫入,請指定已儲存 XML 檔案的編碼 (字元集)。 XML 內建函數會略過此選項。 預設值:UTF-8 讀取、寫入
ignoreSurroundingSpaces 定義是否應略過正在讀取的值周圍的空白字元。 預設值:true。 將忽略只有空白字元的資料。 閱讀
rowValidationXSDPath 用於個別驗證每個資料列 XML 的 XSD 檔案的選擇性路徑。 無法驗證的資料列視為上述剖析錯誤。 XSD 不會在其他情況下影響已提供或推斷的架構。 閱讀
ignoreNamespace 如果為 true,則略過 XML 元素和屬性上的命名空間前置詞。 例如,標籤 <abc:author><def:author> 視為兩者都只是 <author>rowTag 元素上的命名空間無法被忽略,只有其可讀取的子元素才能被略過。 即使在 false 的情況下,XML 剖析仍不識別命名空間。 預設值: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
declaration 要在每個輸出 XML 檔案的開頭 (在 rootTag 之前) 寫入的 XML 宣告內容。 例如,foo 的值會導致寫入 <?xml foo?>。 設定空字串以隱藏。 預設:version="1.0"
encoding="UTF-8" standalone="yes".
arrayElementName 寫入時將陣列值資料行的每個元素括起來的 XML 元素的名稱。 預設值:item
nullValue 設定 null 值的字串表示法。 預設值:字串 null。 當這是 null 時,剖析器不會為欄位寫入屬性和元素。 閱讀、書寫
compression 儲存至檔案時使用的壓縮碼。 這可以是已知不區分大小寫的縮寫名稱之一 (nonebzip2gziplz4snappy
deflate). XML 內建函數會略過此選項。 預設值:none
validateName 如果為 true,則當 XML 元素名稱驗證失敗時擲回錯誤。 例如,SQL 欄位名稱可以有空格,但 XML 元素名稱不能有空格。 預設:
true.
readerCaseSensitive 指定啟用 rescuedDataColumn 時區分大小寫的行為。 如果為 true,則挽救因名稱大小寫與結構描述不同而導致的資料行;否則,請以不區分大小寫的方式讀取資料。 預設值:true 已讀
rescuedDataColumn 是否將因資料類型不符及綱要不符(包括欄位大小寫)而無法剖析的所有資料收集至單獨的欄位。 使用自動載入器時,系統會預設包含這個欄位。 如需詳細資料,請參閱什麼是復原的資料欄?
COPY INTO (舊版) 不支援已獲救的數據行,因為您無法使用 COPY INTO手動設定架構。 Databricks 建議針對大部分的擷取案例使用自動載入器。
預設值:無。
已讀

PARQUET 選項

選項
datetimeRebaseMode
類型:String
控制 DATE 和 TIMESTAMP 值在儒略曆與前推格里曆之間的重設基準。 允許的值:EXCEPTIONLEGACY
CORRECTED.
預設值:LEGACY
int96RebaseMode
類型:String (英文)
控制 INT96 時間戳記值在儒略曆與前置格里高利曆之間的重新基準化。 允許的值:EXCEPTIONLEGACY
CORRECTED.
預設值:LEGACY
mergeSchema
類型:Boolean
是否要跨多個檔案推斷結構描述,以及合併每個檔案的結構描述。
預設值:false
readerCaseSensitive
類型:Boolean
當啟用 rescuedDataColumn 時,指定區分大小寫的行為。 如果為 true,則修復名稱因大小寫而與結構描述不同的資料行;否則,請以不區分大小寫的方式讀取資料。
預設值:true
rescuedDataColumn
類型:String
是否將因資料類型不符和結構描述不符(包括欄位大小寫)而無法解析的所有資料收集至單獨欄位。 使用自動載入器時,系統會預設包含這個欄位。 如需詳細資料,請參閱什麼是復原的資料欄?
COPY INTO (舊版) 不支援已獲救的數據行,因為您無法使用 COPY INTO手動設定架構。 Databricks 建議針對大部分的擷取案例使用自動載入器。
預設值:無

AVRO 選項

選項
avroSchema
類型:String
使用者以 Avro 格式提供的可選的結構描述。 讀取 Avro 時,可以將此選項設定為一個演進的結構描述,該結構描述與實際 Avro 結構描述相容但不同。 反序列化結構描述將與演進的結構描述保持一致。 例如,如果您設定的演進結構描述包含一個具有預設值的其他資料行,則讀取結果也會包含該新資料行。
預設值:無
datetimeRebaseMode
類型:String
控制 DATE 和 TIMESTAMP 值在儒略曆與前推格里曆之間的重設基準。 允許的值:EXCEPTIONLEGACY
CORRECTED.
預設值:LEGACY
mergeSchema
類型: Boolean
是否要跨多個檔案推斷結構描述,以及合併每個檔案的結構描述。
Avro 的 mergeSchema 不會放寬資料類型。
預設值:false
readerCaseSensitive
類型:Boolean
指定啟用 rescuedDataColumn 時的區分大小寫方式。 如果為 true,則修復名稱因大小寫而與結構描述不同的資料行;否則,請以不區分大小寫的方式讀取資料。
預設值:true
rescuedDataColumn
類型: String
是否將因資料類型不符和結構描述不符(包括欄位大小寫)而無法解析的所有資料收集至單獨欄位。 使用自動載入器時,系統會預設包含這個欄位。
COPY INTO (舊版) 不支援已獲救的數據行,因為您無法使用 COPY INTO手動設定架構。 Databricks 建議針對大部分的擷取案例使用自動載入器。
如需詳細資料,請參閱什麼是復原的資料欄?
預設值:無

BINARYFILE 選項

二進位檔案沒有任何額外的組態選項。

TEXT 選項

選項
encoding
類型:String
TEXT 檔案編碼的名稱。 如需選項清單,請參閱 java.nio.charset.Charset
預設值:UTF-8
lineSep
類型:String
兩筆連續 TEXT 記錄之間的字串。
預設值:無,其中涵蓋 \r\r\n\n
wholeText
類型:Boolean
是否要將檔案讀取為單一記錄。
預設值:false

ORC 選項

選項
mergeSchema
類型:Boolean
是否要跨多個檔案推斷結構描述,以及合併每個檔案的結構描述。
預設值:false