Bagikan melalui


COPY INTO

Berlaku untuk: centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime

Memuat data dari lokasi file ke dalam tabel Delta. Ini adalah operasi yang dapat dicoba kembali dan idempotensi — File di lokasi sumber yang telah dimuat dilewati. Ini benar bahkan jika file telah dimodifikasi sejak dimuat. Misalnya, lihat Pola pemuatan data umum menggunakan COPY INTO.

Sintaks

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) ] ) ]

Parameter

  • target_table

    Mengidentifikasi tabel Delta yang sudah ada. target_table tidak boleh menyertakan spesifikasi sementara.

    Jika nama tabel diberikan dalam bentuk lokasi, seperti: delta.`/path/to/table` , Katalog Unity dapat mengatur akses ke lokasi yang sedang ditulis. Anda dapat menulis ke lokasi eksternal dengan:

    • Menentukan lokasi sebagai lokasi eksternal dan memiliki WRITE FILES izin pada lokasi eksternal tersebut.
    • Memiliki WRITE FILES izin pada informasi masuk penyimpanan bernama yang memberikan otorisasi untuk menulis ke lokasi menggunakan: COPY INTO delta.`/some/location` WITH (CREDENTIAL <named-credential>)

    Lihat Menyambungkan ke penyimpanan objek cloud menggunakan Unity Catalog untuk detail selengkapnya.

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

    Mencocokkan kolom sumber dengan kolom tabel target menurut posisi ordinal. Pengecoran jenis kolom yang cocok dilakukan secara otomatis.

    Parameter ini hanya didukung untuk format file CSV tanpa header. Anda harus menentukan FILEFORMAT = CSV. FORMAT_OPTIONS juga harus diatur ke ("headers" = "false") (FORMAT_OPTIONS ("headers" = "false") adalah default).

    Opsi sintaks 1: BY POSITION

    • Mencocokkan kolom sumber dengan kolom tabel target menurut posisi ordinal secara otomatis.
      • Pencocokan nama default tidak digunakan untuk pencocokan.
      • IDENTITY kolom dan GENERATED kolom tabel target diabaikan saat mencocokkan kolom sumber.
      • Jika jumlah kolom sumber tidak sama dengan kolom tabel target yang difilter, COPY INTO akan menimbulkan kesalahan.

    Opsi sintaks 2: ( col_name [ , <col_name> ... ] )

    • Mencocokkan kolom sumber dengan kolom tabel target yang ditentukan berdasarkan posisi ordinal relatif menggunakan daftar nama kolom tabel target dalam tanda kurung, dipisahkan oleh koma.
      • Urutan kolom tabel asli dan nama kolom tidak digunakan untuk pencocokan.
      • IDENTITY kolom dan GENERATED kolom tidak dapat ditentukan dalam daftar nama kolom, jika tidak COPY INTO , menimbulkan kesalahan.
      • Kolom yang ditentukan tidak dapat diduplikasi.
      • Saat jumlah kolom sumber tidak sama dengan kolom tabel yang ditentukan, COPY INTO menimbulkan kesalahan.
      • Untuk kolom yang tidak ditentukan dalam daftar nama kolom, COPY INTO menetapkan nilai default, jika ada, dan menetapkan NULL sebaliknya. Jika ada kolom yang tidak dapat diubah ke null, COPY INTO akan menimbulkan kesalahan.
  • source

    Lokasi file untuk memuat data. File di lokasi ini harus memiliki format yang ditentukan dalam FILEFORMAT. Lokasi disediakan dalam bentuk URI.

    Akses ke lokasi sumber dapat diberikan melalui:

    • credential_name

      Nama opsional info masuk yang digunakan untuk mengakses atau menulis ke lokasi penyimpanan. Anda menggunakan informasi masuk ini hanya jika lokasi file tidak disertakan di lokasi eksternal. Lihat credential_name.

    • Informasi masuk sementara sebaris.

    • Mendefinisikan lokasi sumber sebagai lokasi eksternal dan memiliki izin READ FILES pada lokasi eksternal melalui Katalog Unity.

    • Menggunakan informasi masuk penyimpanan bernama dengan izin READ FILES yang memberikan otorisasi untuk membaca dari suatu lokasi melalui Katalog Unity.

    Anda tidak perlu memberikan informasi masuk sebaris atau bernama jika jalur sudah ditentukan sebagai lokasi eksternal, yang izinnya Anda gunakan. Lihat Membuat lokasi eksternal untuk menyambungkan penyimpanan cloud ke Azure Databricks untuk detail selengkapnya.

    Catatan

    Jika jalur file sumber adalah jalur akar, silakan tambahkan garis miring (/) di akhir jalur file, misalnya, s3://my-bucket/.

    Opsi informasi masuk yang diterima adalah:

    • AZURE_SAS_TOKEN untuk ADLS Gen2 dan Azure Blob Storage
    • AWS_ACCESS_KEY, AWS_SECRET_KEY, dan AWS_SESSION_TOKEN untuk AWS S3

    Opsi enkripsi yang diterima adalah:

    • TYPE = 'AWS_SSE_C', dan MASTER_KEY untuk AWS S3

Lihat Memuat data menggunakan COPY INTO dengan kredensial sementara.

  • SELECT expression_list

    Memilih kolom atau ekspresi yang ditentukan dari data sumber sebelum menyalin ke tabel Delta. Ekspresi dapat apa saja yang Anda gunakan dengan pernyataan SELECT, termasuk operasi jendela. Anda dapat menggunakan ekspresi agregasi hanya untuk agregat global–Anda tidak dapat GROUP BY di kolom dengan sintaks ini.

  • FILEFORMAT = data_source

    Format file sumber yang akan dimuat. Salah satu dari CSV, JSON, AVRO, ORC, PARQUET, TEXT, BINARYFILE.

  • VALIDATE

    Berlaku untuk: centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime 10.4 LTS ke atas

    Data yang akan dimuat ke dalam tabel divalidasi tetapi tidak ditulis ke tabel. Validasi ini meliputi:

    • Apakah data dapat diurai.
    • Apakah skema cocok dengan tabel atau jika skema perlu dikembangkan.
    • Apakah semua batasan nullability dan cek terpenuhi.

    Defaultnya adalah memvalidasi semua data yang akan dimuat. Anda dapat memberikan sejumlah baris untuk divalidasi dengan kata kunci ROWS, seperti VALIDATE 15 ROWS. Pernyataan mengembalikan COPY INTO pratinjau data 50 baris atau kurang ketika jumlah kurang dari 50 digunakan dengan ROWS kata kunci).

  • FILES

    Daftar nama file yang akan dimuat, dengan batas 1000 file. Tidak dapat ditentukan dengan PATTERN.

  • PATTERN

    Pola glob yang mengidentifikasi file yang akan dimuat dari direktori sumber. Tidak dapat ditentukan dengan FILES.

    Pola Deskripsi
    ? Cocok dengan karakter tunggal apa pun
    * Cocok dengan nol atau lebih karakter
    [abc] Cocok dengan satu karakter dari kumpulan karakter {a,b,c}.
    [a-z] Cocok dengan satu karakter dari rentang karakter {a... z}.
    [^a] Cocok dengan satu karakter yang bukan dari kumpulan karakter atau rentang {a}. Perhatikan bahwa ^ karakter harus terjadi segera di sebelah kanan braket pembuka.
    {ab,cd} Mencocokkan string dari string set {ab, cd}.
    {ab,c{de, fh}} Mencocokkan string dari string set {ab, cde, cfh}.
  • FORMAT_OPTIONS

    Opsi yang akan diteruskan ke pembaca sumber data Apache Spark untuk format yang ditentukan. Lihat Opsi format untuk setiap format file.

  • COPY_OPTIONS

    Opsi untuk mengontrol pengoperasian perintah COPY INTO.

    • force: boolean, default false. Jika diatur ke true, idempotensi dinonaktifkan dan file dimuat terlepas dari apakah file tersebut telah dimuat sebelumnya.
    • mergeSchema: boolean, default false. Jika diset ke true, skema dapat dikembangkan sesuai dengan data yang masuk.

COPY INTO Memanggil secara bersamaan

COPY INTO mendukung pemanggilan bersamaan terhadap tabel yang sama. Selama COPY INTO dipanggil secara bersamaan pada set file input yang berbeda , setiap pemanggilan pada akhirnya akan berhasil, jika tidak, Anda mendapatkan konflik transaksi. COPY INTO tidak boleh dipanggil secara bersamaan untuk meningkatkan performa; satu COPY INTO perintah dengan beberapa file biasanya berkinerja lebih baik daripada menjalankan COPY INTO perintah bersamaan dengan satu file masing-masing. COPY INTO dapat dipanggil secara bersamaan ketika:

  • Beberapa produsen data tidak memiliki cara mudah untuk berkoordinasi dan tidak dapat melakukan satu pemanggilan.
  • Ketika direktori yang sangat besar dapat diserap sub-direktori oleh sub-direktori. Saat menyerap direktori dengan sejumlah besar file, Databricks merekomendasikan penggunaan Auto Loader jika memungkinkan.

Mengakses metadata file

Untuk mempelajari cara mengakses metadata untuk sumber data berbasis file, lihat Kolom metadata file.

Opsi format

Opsi generik

Opsi berikut berlaku untuk semua format file.

Opsi
ignoreCorruptFiles

Jenis: Boolean

Apakah akan mengabaikan file yang rusak. Jika true, pekerjaan Spark akan terus berjalan ketika menemukan file yang rusak dan konten yang telah dibaca akan tetap dikembalikan. Dapat diamati sebagai numSkippedCorruptFiles dalam
kolom operationMetrics dari riwayat Delta Lake. Tersedia di Databricks Runtime 11.3 LTS ke atas.

Nilai default: false
ignoreMissingFiles

Jenis: Boolean

Apakah mengabaikan file yang hilang. Jika true, pekerjaan Spark akan terus berjalan ketika menemukan file yang hilang dan konten yang telah dibaca akan tetap dikembalikan. Tersedia di Databricks Runtime 11.3 LTS ke atas.

Nilai default: false (true untuk COPY INTO)
modifiedAfter

Ketik: Timestamp String, misalnya, 2021-01-01 00:00:00.000000 UTC+0

Stempel waktu opsional untuk menelan file yang memiliki stempel waktu modifikasi setelah stempel waktu yang disediakan.

Nilai default: None
modifiedBefore

Ketik: Timestamp String, misalnya, 2021-01-01 00:00:00.000000 UTC+0

Stempel waktu opsional untuk menyerap file yang memiliki stempel waktu modifikasi sebelum stempel waktu yang disediakan.

Nilai default: None
pathGlobFilter atau fileNamePattern

Jenis: String

Pola glob potensial untuk menyediakan untuk memilih file. Setara dengan
PATTERN di COPY INTO. fileNamePattern dapat digunakan dalam read_files.

Nilai default: None
recursiveFileLookup

Jenis: Boolean

Apakah akan melewati inferensi partisi selama inferensi skema. Ini tidak mempengaruhi file mana yang dimuat.

Nilai default: false

Opsi JSON

Opsi
allowBackslashEscapingAnyCharacter

Jenis: Boolean

Apakah akan membiarkan efek balik untuk melepaskan diri dari karakter yang mendahuluinya. Jika tidak diaktifkan, hanya karakter yang secara eksplisit terdaftar oleh spesifikasi JSON yang dapat lolos.

Nilai default: false
allowComments

Jenis: Boolean

Apakah akan mengizinkan penggunaan komentar gaya Java, C, dan C ++ ('/', '*'dan '//' varietas) dalam konten yang diurai atau tidak.

Nilai default: false
allowNonNumericNumbers

Jenis: Boolean

Apakah akan mengizinkan set token non-angka (NaN) sebagai nilai angka mengambang legal.

Nilai default: true
allowNumericLeadingZeros

Jenis: Boolean

Apakah akan mengizinkan angka integral dimulai dengan nol tambahan (dapat diabaikan) (misalnya, 000001).

Nilai default: false
allowSingleQuotes

Jenis: Boolean

Apakah akan mengizinkan penggunaan tanda kutip tunggal (apostrof, karakter '\') untuk mengutip string (nama dan nilai String).

Nilai default: true
allowUnquotedControlChars

Jenis: Boolean

Apakah akan mengizinkan string JSON berisi karakter kontrol yang tidak lolos (karakter ASCII dengan nilai kurang dari 32, termasuk karakter tab dan feed baris) atau tidak.

Nilai default: false
allowUnquotedFieldNames

Jenis: Boolean

Apakah akan mengizinkan penggunaan nama bidang yang tidak dikutip (yang diizinkan oleh JavaScript, tetapi tidak dengan spesifikasi JSON).

Nilai default: false
badRecordsPath

Jenis: String

Jalur untuk menyimpan file untuk merekam informasi tentang catatan JSON yang buruk.

Nilai default: None
columnNameOfCorruptRecord

Jenis: String

Kolom untuk menyimpan catatan yang cacat dan tidak dapat diurai. Jika mode untuk penguraian diset sebagai DROPMALFORMED, kolom ini akan kosong.

Nilai default: _corrupt_record
dateFormat

Jenis: String

Format untuk mengurai string tanggal.

Nilai default: yyyy-MM-dd
dropFieldIfAllNull

Jenis: Boolean

Apakah akan mengabaikan kolom dari semua nilai null atau array{i>
Nilai default: false
encoding atau charset

Jenis: String

Nama pengodean file JSON. Lihat java.nio.charset.Charset untuk daftar opsi. Anda tidak dapat menggunakan UTF-16 dan UTF-32 saat multiline adalah true.

Nilai default: UTF-8
inferTimestamp

Jenis: Boolean

Apakah akan mencoba dan menyimpulkan string tanda waktu sebagai TimestampType. Ketika diatur ke
true, inferensi skema mungkin memakan waktu jauh lebih lama. Anda harus mengaktifkan cloudFiles.inferColumnTypes untuk digunakan dengan Auto Loader.

Nilai default: false
lineSep

Jenis: String

String antara dua catatan JSON berturut-turut.

Nilai default: Tidak ada, yang mencakup \r, \r\n, dan \n
locale

Jenis: String

Pengidentifikasi java.util.Locale. Memengaruhi tanggal default, stempel waktu, dan penguraian desimal dalam JSON.

Nilai default: US
mode

Jenis: String

Mode uraian seputar penanganan catatan yang salah. Salah satu dari 'PERMISSIVE',
'DROPMALFORMED', atau 'FAILFAST'.

Nilai default: PERMISSIVE
multiLine

Jenis: Boolean

Apakah catatan JSON mencakup beberapa baris.

Nilai default: false
prefersDecimal

Jenis: Boolean

Mencoba menyimpulkan string sebagai DecimalType alih-alih float atau jenis ganda jika memungkinkan. Anda juga harus menggunakan inferensi skema, baik dengan mengaktifkan
inferSchema atau menggunakan cloudFiles.inferColumnTypes dengan Auto Loader.

Nilai default: false
primitivesAsString

Jenis: Boolean

Apakah akan menyimpulkan jenis primitif seperti angka dan boolean sebagai StringType.

Nilai default: false
readerCaseSensitive

Jenis: Boolean

Menentukan perilaku sensitivitas huruf besar/kecil saat rescuedDataColumn diaktifkan. Jika true, menyelamatkan kolom data yang namanya berbeda menurut huruf besar/kecil dari skema; jika tidak, membaca data tanpa memerhatikan huruf besar/kecil. Tersedia di Databricks Runtime
13.3 ke atas.

Nilai default: true
rescuedDataColumn

Jenis: String

Apakah akan mengumpulkan semua data yang tidak dapat diurai karena ketidakcocokan jenis data atau ketidakcocokan skema (termasuk selubung kolom) ke kolom terpisah. Kolom ini disertakan secara default saat menggunakan Auto Loader. Untuk detail selengkapnya, lihat Apa itu kolom data yang diselamatkan?.

Nilai default: None
singleVariantColumn

Jenis: String

Apakah akan menyerap seluruh dokumen JSON, diurai ke dalam satu kolom Varian dengan string yang diberikan sebagai nama kolom. Jika dinonaktifkan, bidang JSON akan diserap ke dalam kolomnya sendiri.

Nilai default: None
timestampFormat

Jenis: String

Format untuk mengurai string stempel waktu.

Nilai default: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]
timeZone

Jenis: String

java.time.ZoneId untuk digunakan saat menguraikan stempel waktu dan tanggal.

Nilai default: None

Opsi CSV

Opsi
badRecordsPath

Jenis: String

Jalur untuk menyimpan file untuk merekam informasi tentang catatan CSV yang buruk.

Nilai default: None
charToEscapeQuoteEscaping

Jenis: Char

Karakter yang digunakan untuk meloloskan diri dari karakter yang digunakan untuk meloloskan diri dari kutipan. Misalnya, untuk baris berikut: [ " a\\", b ]:

- Jika karakter untuk lolos '\' tidak terdefinisi, rekaman tidak akan diurai. Pengurai akan membaca karakter: [a],[\],["],[,],[ ],[b] dan menampilkan kesalahan karena tidak dapat menemukan kuotasi penutup.
- Jika karakter untuk meloloskan didefinisikan '\' sebagai '\', rekaman akan dibaca dengan 2 nilai: [a\] dan [b].

Nilai default: '\0'
columnNameOfCorruptRecord

> [! CATATAN] >> Didukung untuk Auto Loader. Tidak didukung untuk COPY INTO.

Jenis: String

Kolom untuk menyimpan catatan yang cacat dan tidak dapat diurai. Jika mode untuk penguraian diset sebagai DROPMALFORMED, kolom ini akan kosong.

Nilai default: _corrupt_record
comment

Jenis: Char

Mendefinisikan karakter yang mewakili komentar baris ketika ditemukan di awal baris teks. Gunakan '\0' untuk menonaktifkan melompati komentar.

Nilai default: '\u0000'
dateFormat

Jenis: String

Format untuk mengurai string tanggal.

Nilai default: yyyy-MM-dd
emptyValue

Jenis: String

Representasi string dari nilai kosong.

Nilai default: ""
encoding atau charset

Jenis: String

Nama pengodean file CSV. Lihat java.nio.charset.Charset untuk daftar opsi. UTF-16 dan UTF-32 tidak dapat digunakan saat multiline adalah true.

Nilai default: UTF-8
enforceSchema

Jenis: Boolean

Apakah akan menerapkan skema yang ditentukan atau disimpulkan secara paksa ke file CSV. Jika opsi diaktifkan, header file CSV akan diabaikan. Opsi ini diabaikan secara default saat menggunakan Auto Loader untuk menyelamatkan data dan memungkinkan evolusi skema.

Nilai default: true
escape

Jenis: Char

Karakter {i>escape
Nilai default: '\'
header

Jenis: Boolean

Apakah file CSV berisi {i>headerheader
Nilai default: false
ignoreLeadingWhiteSpace

Jenis: Boolean

Apakah akan mengabaikan spasi utama untuk setiap nilai yang diurai.

Nilai default: false
ignoreTrailingWhiteSpace

Jenis: Boolean

Apakah akan mengabaikan spasi berikutnya untuk setiap nilai yang diurai.

Nilai default: false
inferSchema

Jenis: Boolean

Apakah akan menyimpulkan jenis data dari baris CSV yang diurai atau untuk mengasumsikan semua kolom berasal dari StringType. Memerlukan penerusan data tambahan jika diset ke true. Untuk Auto Loader, gunakan cloudFiles.inferColumnTypes sebagai gantinya.

Nilai default: false
lineSep

Jenis: String

String antara dua baris JSON berturut-turut.

Nilai default: Tidak ada, yang mencakup \r, \r\n, dan \n
locale

Jenis: String

Pengidentifikasi java.util.Locale. Memengaruhi tanggal default, stempel waktu, dan penguraian desimal dalam CSV.

Nilai default: US
maxCharsPerColumn

Jenis: Int

Jumlah maksimum karakter yang diharapkan dari nilai untuk mengurai. Dapat digunakan untuk menghindari kesalahan memori. Default ke -1, yang berarti tidak terbatas.

Nilai default: -1
maxColumns

Jenis: Int

Batas tegas berapa banyak kolom yang dapat dimiliki sebuah baris.

Nilai default: 20480
mergeSchema

Jenis: Boolean

Apakah akan menginferensi skema di beberapa file dan untuk menggabungkan skema setiap file. Diaktifkan secara {i>default
Nilai default: false
mode

Jenis: String

Mode uraian seputar penanganan catatan yang salah. Salah satu dari 'PERMISSIVE',
'DROPMALFORMED', dan 'FAILFAST'.

Nilai default: PERMISSIVE
multiLine

Jenis: Boolean

Apakah catatan CSV mencakup beberapa baris.

Nilai default: false
nanValue

Jenis: String

Representasi string dari nilai non-angka saat mengurai FloatType dan DoubleType kolom.

Nilai default: "NaN"
negativeInf

Jenis: String

Representasi string dari nilai non-angka saat mengurai FloatType atau DoubleType kolom.

Nilai default: "-Inf"
nullValue

Jenis: String

Representasi string dari nilai nol.

Nilai default: ""
parserCaseSensitive (tidak digunakan lagi)

Jenis: Boolean

Saat membaca file, apakah akan menyelaraskan kolom yang dideklarasikan di header dengan kasus skema secara sensitif. Ini adalah true secara default untuk Auto Loader. Kolom yang berbeda menurut kasus akan disimpan di rescuedDataColumn jika diaktifkan. Opsi ini tidak digunakan lagi dan digantikan dengan readerCaseSensitive.

Nilai default: false
positiveInf

Jenis: String

Representasi string dari nilai non-angka saat mengurai FloatType atau DoubleType kolom.

Nilai default: "Inf"
preferDate

Jenis: Boolean

Mencoba menyimpulkan string sebagai tanggal alih-alih tanda waktu jika memungkinkan. Anda juga harus menggunakan inferensi skema, baik dengan mengaktifkan inferSchema atau menggunakan
cloudFiles.inferColumnTypes dengan Auto Loader.

Nilai default: true
quote

Jenis: Char

Karakter yang digunakan untuk melepaskan diri dari nilai di mana pemisah bidang adalah bagian dari nilai.

Nilai default: "
readerCaseSensitive

Jenis: Boolean

Menentukan perilaku sensitivitas huruf besar/kecil saat rescuedDataColumn diaktifkan. Jika true, menyelamatkan kolom data yang namanya berbeda menurut huruf besar/kecil dari skema; jika tidak, membaca data tanpa memerhatikan huruf besar/kecil.

Nilai default: true
rescuedDataColumn

Jenis: String

Apakah akan mengumpulkan semua data yang tidak dapat diurai karena: ketidakcocokan jenis data, dan ketidakcocokan skema (termasuk selubung kolom) ke kolom terpisah. Kolom ini disertakan secara default saat menggunakan Auto Loader. Untuk detail selengkapnya, lihat Apa itu kolom data yang diselamatkan?.

Nilai default: None
sep atau delimiter

Jenis: String

String pemisah antar kolom.

Nilai default: ","
skipRows

Jenis: Int

Jumlah baris dari awal file CSV yang harus diabaikan (termasuk baris yang dikomentari dan kosong). Jika header adalah true, header akan menjadi baris pertama yang tidak dilompati dan tidak berkomentar.

Nilai default: 0
timestampFormat

Jenis: String

Format untuk mengurai string stempel waktu.

Nilai default: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]
timeZone

Jenis: String

java.time.ZoneId untuk digunakan saat menguraikan stempel waktu dan tanggal.

Nilai default: None
unescapedQuoteHandling

Jenis: String

Strategi untuk menangani kuotasi yang tidak lolos. Opsi yang diizinkan:

- STOP_AT_CLOSING_QUOTE: Jika kuotasi yang tidak lolos ditemukan dalam input, kumpulkan karakter kuotasi dan lanjutkan menguraikan nilai sebagai nilai yang dikutip, sampai kuotasi penutup ditemukan.
- BACK_TO_DELIMITER: Jika kuotasi yang tidak lolos ditemukan dalam input, anggap nilainya sebagai nilai yang tidak dikutip. Ini akan membuat pengurai mengumpulkan semua karakter dari nilai yang diurai saat ini sampai pemisah yang ditentukan oleh sep ditemukan. Jika tidak ada pemisah yang ditemukan dalam nilai, pengurai akan terus mengumpulkan karakter dari input sampai pemisah atau akhir garis ditemukan.
- STOP_AT_DELIMITER: Jika kuotasi yang tidak lolos ditemukan dalam input, anggap nilainya sebagai nilai yang tidak dikutip. Ini akan membuat pengurai mengumpulkan semua karakter sampai pemisah ditentukan oleh sep, atau akhir garis ditemukan dalam input.
- SKIP_VALUE: Jika kuotasi yang tidak terekap ditemukan dalam input, konten yang diurai untuk nilai yang diberikan akan dilompati (sampai pemisah berikutnya ditemukan) dan nilai yang diset dalam nullValue akan dihasilkan sebagai gantinya.
- RAISE_ERROR: Jika kutipan yang tidak lolos ditemukan dalam input, maka
TextParsingException akan ditampilkan.

Nilai default: STOP_AT_DELIMITER

Opsi XML

Opsi Deskripsi Scope
rowTag Tag baris file XML untuk diperlakukan sebagai baris. Dalam contoh XML <books> <book><book>...<books>, nilai yang sesuai adalah book. Opsi ini wajib diisi. baca
samplingRatio Menentukan sebagian kecil baris yang digunakan untuk inferensi skema. Fungsi bawaan XML mengabaikan opsi ini. Default: 1.0. baca
excludeAttribute Apakah akan mengecualikan atribut dalam elemen. Default: false. baca
mode Mode untuk menangani rekaman yang rusak selama penguraian.

PERMISSIVE: Untuk rekaman yang rusak, menempatkan string cacat ke dalam bidang yang dikonfigurasi oleh columnNameOfCorruptRecord, dan mengatur bidang cacat ke null. Untuk menyimpan rekaman yang string rusak, Anda bisa mengatur bidang jenis bernama columnNameOfCorruptRecord dalam skema yang ditentukan pengguna. Jika skema tidak memiliki bidang , rekaman yang rusak akan dihilangkan selama penguraian. Saat menyimpulkan skema, pengurai secara implisit columnNameOfCorruptRecord menambahkan bidang dalam skema output.

DROPMALFORMED: Mengabaikan rekaman yang rusak. Mode ini tidak didukung untuk fungsi bawaan XML.

FAILFAST: Melemparkan pengecualian ketika pengurai memenuhi rekaman yang rusak.
baca
inferSchema Jika true, mencoba menyimpulkan jenis yang sesuai untuk setiap kolom DataFrame yang dihasilkan. Jika false, semua kolom yang dihasilkan berjenis string . Default:
true. Fungsi bawaan XML mengabaikan opsi ini.
baca
columnNameOfCorruptRecord Memungkinkan penggantian nama bidang baru yang berisi string cacat yang dibuat oleh
PERMISSIVE modus. Default: spark.sql.columnNameOfCorruptRecord.
baca
attributePrefix Awalan untuk atribut untuk membedakan atribut dari elemen. Ini akan menjadi awalan untuk nama bidang. Defaultnya adalah _. Bisa kosong untuk membaca XML, tetapi tidak untuk menulis. baca, tulis
valueTag Tag yang digunakan untuk data karakter dalam elemen yang juga memiliki elemen atribut atau elemen turunan. Pengguna dapat menentukan valueTag bidang dalam skema atau akan ditambahkan secara otomatis selama inferensi skema ketika data karakter ada dalam elemen dengan elemen atau atribut lain. Default: _VALUE baca,tulis
encoding Untuk membaca, dekode file XML dengan jenis pengodean yang diberikan. Untuk menulis, menentukan pengodean (charset) file XML yang disimpan. Fungsi bawaan XML mengabaikan opsi ini. Default: UTF-8. baca, tulis
ignoreSurroundingSpaces Menentukan apakah spasi putih di sekitarnya dari nilai yang dibaca harus dilewati. Default: true. Data karakter khusus spasi kosong diabaikan. baca
rowValidationXSDPath Jalur ke file XSD opsional yang digunakan untuk memvalidasi XML untuk setiap baris satu per satu. Baris yang gagal divalidasi diperlakukan seperti kesalahan parse seperti di atas. XSD tidak memengaruhi skema yang disediakan, atau disimpulkan. baca
ignoreNamespace Jika true, awalan namespace pada elemen dan atribut XML diabaikan. <abc:author> Tag dan <def:author>, misalnya, diperlakukan seolah-olah keduanya hanya <author>. Namespace tidak dapat diabaikan pada rowTag elemen , hanya turunan bacanya. Penguraian XML tidak sadar namespace meskipun false. Default: false. baca
timestampFormat String format tanda waktu kustom yang mengikuti format pola tanggalwaktu. Ini berlaku untuk timestamp jenis. Default: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]. baca, tulis
timestampNTZFormat String format kustom untuk tanda waktu tanpa zona waktu yang mengikuti format pola tanggalwaktu. Ini berlaku untuk jenis TimestampNTZType. Default:
yyyy-MM-dd'T'HH:mm:ss[.SSS]
baca, tulis
dateFormat String format tanggal kustom yang mengikuti format pola tanggalwaktu. Ini berlaku untuk jenis tanggal. Default: yyyy-MM-dd. baca, tulis
locale Mengatur lokal sebagai tag bahasa dalam format IETF BCP 47. Misalnya, locale digunakan saat mengurai tanggal dan tanda waktu. Default: en-US. baca
rootTag Tag akar file XML. Misalnya, dalam <books> <book><book>...</books>, nilai yang sesuai adalah books. Anda dapat menyertakan atribut dasar dengan menentukan nilai seperti books foo="bar". Default: ROWS. tulis
declaration Konten deklarasi XML untuk ditulis di awal setiap file XML output, sebelum rootTag. Misalnya, nilai foo penyebab <?xml foo?> ditulis. Atur ke string kosong untuk ditekan. Default: version="1.0"
encoding="UTF-8" standalone="yes".
tulis
arrayElementName Nama elemen XML yang mengapit setiap elemen kolom bernilai array saat menulis. Default: item. tulis
nullValue Mengatur representasi string dari nilai null. Default: string null. Ketika ini adalah null, pengurai tidak menulis atribut dan elemen untuk bidang. baca, tulis
compression Kode pemadatan yang akan digunakan saat menyimpan ke file. Ini bisa menjadi salah satu nama pendek yang tidak peka huruf besar/kecil yang diketahui (none, , bzip2, gziplz4, snappy, dan
deflate). Fungsi bawaan XML mengabaikan opsi ini. Default: none.
tulis
validateName Jika true, melemparkan kesalahan pada kegagalan validasi nama elemen XML. Misalnya, nama bidang SQL dapat memiliki spasi, tetapi nama elemen XML tidak dapat. Default:
true.
tulis
readerCaseSensitive Menentukan perilaku sensitivitas kasus saat rescuedDataColumn diaktifkan. Jika true, menyelamatkan kolom data yang namanya berbeda menurut huruf besar/kecil dari skema; jika tidak, membaca data tanpa memerhatikan huruf besar/kecil. Default: true. baca
rescuedDataColumn Apakah akan mengumpulkan semua data yang tidak dapat diurai karena ketidakcocokan jenis data dan ketidakcocokan skema (termasuk casing kolom) ke kolom terpisah. Kolom ini disertakan secara default saat menggunakan Auto Loader. Untuk detail selengkapnya, lihat Apa itu kolom data yang diselamatkan?. Default: Tidak ada. baca

Opsi PARQUET

Opsi
datetimeRebaseMode

Jenis: String

Mengontrol {i>rebaseEXCEPTION, LEGACY, dan
CORRECTED.

Nilai default: LEGACY
int96RebaseMode

Jenis: String

Mengontrol {i>rebaseEXCEPTION, LEGACY, dan
CORRECTED.

Nilai default: LEGACY
mergeSchema

Jenis: Boolean

Apakah akan menginferensi skema di beberapa file dan untuk menggabungkan skema setiap file.

Nilai default: false
readerCaseSensitive

Jenis: Boolean

Menentukan perilaku sensitivitas huruf besar/kecil saat rescuedDataColumn diaktifkan. Jika true, menyelamatkan kolom data yang namanya berbeda menurut huruf besar/kecil dari skema; jika tidak, membaca data tanpa memerhatikan huruf besar/kecil.

Nilai default: true
rescuedDataColumn

Jenis: String

Apakah akan mengumpulkan semua data yang tidak dapat diurai karena: ketidakcocokan jenis data, dan ketidakcocokan skema (termasuk selubung kolom) ke kolom terpisah. Kolom ini disertakan secara default saat menggunakan Auto Loader. Untuk detail selengkapnya, lihat Apa itu kolom data yang diselamatkan?.

Nilai default: None

Opsi AVRO

Opsi
avroSchema

Jenis: String

Skema opsional yang disediakan oleh pengguna dalam format Avro. Saat membaca Avro, opsi ini dapat diatur ke skema yang berevolusi, yang kompatibel tetapi berbeda dengan skema Avro yang sebenarnya. Skema deserialisasi akan konsisten dengan skema yang dikembangkan. Misalnya, jika Anda mengatur skema yang berevolusi yang berisi satu kolom tambahan dengan nilai default, hasil baca juga akan berisi kolom baru.

Nilai default: None
datetimeRebaseMode

Jenis: String

Mengontrol {i>rebaseEXCEPTION, LEGACY, dan
CORRECTED.

Nilai default: LEGACY
mergeSchema

Jenis: Boolean

Apakah akan menginferensi skema di beberapa file dan untuk menggabungkan skema setiap file.
mergeSchema untuk Avro tidak mengendurkan jenis data.

Nilai default: false
readerCaseSensitive

Jenis: Boolean

Menentukan perilaku sensitivitas huruf besar/kecil saat rescuedDataColumn diaktifkan. Jika true, menyelamatkan kolom data yang namanya berbeda menurut huruf besar/kecil dari skema; jika tidak, membaca data tanpa memerhatikan huruf besar/kecil.

Nilai default: true
rescuedDataColumn

Jenis: String

Apakah akan mengumpulkan semua data yang tidak dapat diurai karena: ketidakcocokan jenis data, dan ketidakcocokan skema (termasuk selubung kolom) ke kolom terpisah. Kolom ini disertakan secara default saat menggunakan Auto Loader. Untuk detail selengkapnya, lihat Apa itu kolom data yang diselamatkan?.

Nilai default: None

Opsi BINARYFILE

File biner tidak memiliki opsi konfigurasi tambahan.

Opsi TEXT

Opsi
encoding

Jenis: String

Nama pengkodean file TEXT. Lihat java.nio.charset.Charset untuk daftar opsi.

Nilai default: UTF-8
lineSep

Jenis: String

String antara dua baris TEXT berturut-turut.

Nilai default: Tidak ada, yang mencakup \r, \r\n, dan \n
wholeText

Jenis: Boolean

Apakah akan membaca file sebagai satu baris.

Nilai default: false

Opsi ORC

Opsi
mergeSchema

Jenis: Boolean

Apakah akan menginferensi skema di beberapa file dan untuk menggabungkan skema setiap file.

Nilai default: false