COPY INTO
Berlaku untuk: Databricks SQL 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.
- Menentukan lokasi sebagai lokasi eksternal dan memiliki
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 danGENERATED
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 danGENERATED
kolom tidak dapat ditentukan dalam daftar nama kolom, jika tidakCOPY 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 menetapkanNULL
sebaliknya. Jika ada kolom yang tidak dapat diubah ke null,COPY INTO
akan menimbulkan kesalahan.
- Mencocokkan kolom sumber dengan kolom tabel target menurut posisi ordinal secara otomatis.
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 StorageAWS_ACCESS_KEY
,AWS_SECRET_KEY
, danAWS_SESSION_TOKEN
untuk AWS S3
Opsi enkripsi yang diterima adalah:
TYPE = 'AWS_SSE_C'
, danMASTER_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 dapatGROUP 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: Databricks SQL 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
, sepertiVALIDATE 15 ROWS
. Pernyataan mengembalikanCOPY INTO
pratinjau data 50 baris atau kurang ketika jumlah kurang dari 50 digunakan denganROWS
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, defaultfalse
. Jika diatur ketrue
, idempotensi dinonaktifkan dan file dimuat terlepas dari apakah file tersebut telah dimuat sebelumnya.mergeSchema
: boolean, defaultfalse
. Jika diset ketrue
, 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 dalamkolom 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 ketrue , 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 mengaktifkaninferSchema 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 Runtime13.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 menggunakancloudFiles.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, makaTextParsingException 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 olehPERMISSIVE 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 , gzip lz4 , snappy , dandeflate ). 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 , danCORRECTED .Nilai default: LEGACY |
int96RebaseMode Jenis: String Mengontrol {i>rebaseEXCEPTION, LEGACY , danCORRECTED .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 , danCORRECTED .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 |