Catatan rilis komputasi tanpa server
Artikel ini menjelaskan fitur dan perilaku yang saat ini tersedia dan akan datang pada komputasi tanpa server untuk buku catatan dan pekerjaan.
Untuk informasi selengkapnya tentang komputasi tanpa server, lihat Menyambungkan ke komputasi tanpa server.
Azure Databricks secara berkala merilis pembaruan untuk komputasi tanpa server, secara otomatis meningkatkan runtime komputasi tanpa server untuk mendukung peningkatan dan peningkatan ke platform. Semua pengguna mendapatkan pembaruan yang sama, diluncurkan dalam waktu singkat.
versi lingkungan Tanpa Server
Komputasi tanpa server Databricks untuk notebook dan pekerjaan menampilkan arsitektur berbasis Spark Connect, memungkinkan peningkatan mesin independen tanpa memengaruhi aplikasi. Untuk memastikan kompatibilitas aplikasi, beban kerja tanpa server menggunakan API versi, yang dikenal sebagai versi lingkungan atau klien, yang tetap kompatibel dengan versi server yang lebih baru.
Versi lingkungan terbaru terus menerima pembaruan hingga versi baru dirilis. Pengguna dapat memilih dari salah satu versi lingkungan yang didukung berikut:
Catatan rilis
Bagian ini mencakup catatan rilis untuk komputasi tanpa server. Catatan rilis diatur menurut tahun dan minggu dalam setahun. Komputasi tanpa server selalu berjalan menggunakan versi terbaru yang tercantum di sini.
- Pengaturan memori tinggi tersedia di notebook tanpa server (Pratinjau Umum)
- Versi 16.1
- Versi 15.4
- JDK ditingkatkan dari JDK 8 ke JDK 17
- Versi 15.1
- Versi 14.3
Pengaturan memori tinggi tersedia di notebook tanpa server (Pratinjau Umum)
7 Februari 2025
Anda sekarang dapat mengonfigurasi ukuran memori yang lebih tinggi untuk beban kerja notebook komputasi tanpa server Anda. Pengaturan ini dapat diterapkan ke beban kerja notebook interaktif dan terjadwal.
Penggunaan tanpa server dengan memori tinggi memiliki tingkat emisi DBU yang lebih tinggi daripada memori standar.
Untuk informasi selengkapnya, lihat Mengonfigurasi memori tinggi untuk beban kerja tanpa server Anda.
Versi 16.1
5 Februari 2025
Rilis komputasi tanpa server ini kira-kira sesuai dengan Databricks Runtime 16.0 dan Databricks Runtime 16.1.
Fitur baru
dukungan Avro untuk skema rekursif: Sekarang Anda dapat menggunakan opsi
recursiveFieldMaxDepth
dengan fungsifrom_avro
dan sumber dataavro
. Opsi ini mengatur kedalaman maksimum untuk rekursi skema pada sumber data Avro. Lihat Membaca dan menulis data Avro streaming.Dukungan yang Diperluas untuk Registri Skema Confluent untuk Avro: Tanpa Server sekarang mendukung referensi skema Avro dengan Confluent Schema Registry. Lihat Mengautentikasi ke Registri Skema Confluent eksternal.
Paksa rekalusterisasi pada tabel dengan klasterisasi cair: Anda sekarang dapat menggunakan sintaks
OPTIMIZE FULL
untuk memaksa rekalusterisasi semua rekaman dalam tabel dengan klasterisasi cair diaktifkan. Lihat Force reclustering untuk semua rekaman.API Delta untuk Python sekarang mendukung kolom identitas: Anda sekarang dapat menggunakan API Delta untuk Python untuk membuat tabel dengan kolom identitas. Lihat Menggunakan kolom identitas di Delta Lake.
Membuat tabel berkluster cair selama penulisan streaming: Anda sekarang dapat menggunakan
clusterBy
untuk mengaktifkan pengklusteran cairan saat membuat tabel baru dengan penulisan Streaming Terstruktur. Lihat Mengaktifkan pengklusteran cairan.Dukungan untuk klausul FULL OPTIMIZE: Komputasi Tanpa Server sekarang mendukung klausul OPTIMIZE FULL. Klausa ini mengoptimalkan semua rekaman dalam tabel yang menggunakan pengklusteran cairan, termasuk data yang mungkin sebelumnya telah diklusterkan.
Spesifikasi opsi untuk WITH dalam INSERT dan referensi tabel: Komputasi Tanpa Server sekarang mendukung spesifikasi opsi untuk referensi tabel dan nama tabel pernyataan
INSERT
yang dapat digunakan untuk mengontrol perilaku sumber data.Fungsi SQL Baru: Fungsi SQL berikut sekarang tersedia pada komputasi tanpa server:
- try_url_decode adalah versi url_decodeyang toleran terhadap kesalahan.
-
zeroifnull mengembalikan 0 jika ekspresi input
zeroifnull()
ke fungsiNULL
. -
nullifzero mengembalikan
NULL
jika input bernilai 0 atau input tersebut jika bukan 0. - dayname(expr) mengembalikan akronim bahasa Inggris tiga huruf untuk hari dalam seminggu untuk tanggal tertentu.
- uniform(expr1, expr2 [,seed]) mengembalikan nilai acak dengan nilai independen dan terdistribusi secara identik dalam rentang angka yang ditentukan.
-
randstr(length) mengembalikan string acak dari
length
karakter alfa-numerik.
Aktifkan evolusi skema otomatis saat menggabungkan data ke dalam tabel Delta: dukungan telah ditambahkan untuk anggota
withSchemaEvolution()
kelasDeltaMergeBuilder
. GunakanwithSchemaEvolution()
untuk mengaktifkan evolusi skema otomatis selamaMERGE
operasi. Contohnya,mergeBuilder.whenMatched(...).withSchemaEvolution().execute()}}
.Dukungan untuk kolasi di Apache Spark telah tersedia dalam Pratinjau Umum: Anda sekarang dapat menetapkan kolasi yang sadar bahasa, tidak peka terhadap huruf besar/kecil, dan tidak peka terhadap akses untuk
STRING
kolom dan ekspresi. Kolasi ini digunakan untuk perbandingan string, pengurutan, operasi pengelompokan, dan banyak fungsi string. Lihat Collation.Dukungan untuk pengurutan di Delta Lake sudah dapat diakses dalam Pratinjau Umum: Anda sekarang dapat menentukan pengurutan untuk kolom saat membuat atau mengubah tabel Delta. Lihat dukungan Collation untuk Delta Lake.
modus
LITE
untuk vakum sedang dalam tahap Pratinjau Umum: Anda sekarang dapat menggunakanVACUUM table_name LITE
untuk melakukan operasi vakum yang lebih ringan bobotnya dengan menggunakan metadata di log transaksi Delta. Lihat mode Lengkap vs. mode ringan dan VACUUM.Dukungan untuk membuat parameter klausul
USE CATALOG with IDENTIFIER
: Klausa IDENTIFIER sekarang didukung untuk pernyataan USE CATALOG. Dengan dukungan ini, Anda dapat membuat parameter katalog saat ini berdasarkan variabel string atau penanda parameter.COMMENT ON COLUMN dukungan untuk tabel dan tampilan: Pernyataan COMMENT ON sekarang mendukung perubahan komentar untuk kolom tampilan dan tabel.
Pemanggilan parameter bernama untuk lebih banyak fungsi: Fungsi berikut mendukung pemanggilan parameter bernama :
Parameter
SYNC METADATA
ke perintah REPAIR TABLE didukung dengan metastore Apache Hive: Anda sekarang dapat menggunakan parameterSYNC METADATA
dengan perintahREPAIR TABLE
untuk memperbarui metadata tabel terkelola metastore Apache Hive. Lihat REPAIR TABLE.Integritas data yang ditingkatkan untuk batch Apache Arrow terkompresi: Untuk melindungi lebih lanjut dari kerusakan data, setiap
LZ4
batch Panah terkompresi sekarang menyertakan kontenLZ4
dan checksum blok. Lihat Deskripsi Format Kerangka LZ4.Driver Oracle JDBC Terpasang: Komputasi Tanpa Server sekarang memiliki Driver Oracle JDBC terpasang. Jika Anda menggunakan JAR driver JDBC yang diunggah pelanggan melalui
DriverManager
, Anda harus menulis ulang skrip untuk secara eksplisit menggunakan JAR kustom. Jika tidak, driver bawaan akan digunakan. Pengemudi ini hanya mendukung Federasi Lakehouse. Untuk penggunaan lain, Anda harus menyediakan driver Anda sendiri.Kesalahan lebih rinci untuk tabel Delta yang diakses dengan jalur: Pengalaman pesan kesalahan baru untuk tabel Delta yang diakses menggunakan jalur sekarang tersedia. Semua pengecualian sekarang diteruskan ke pengguna. Pengecualian
DELTA_MISSING_DELTA_TABLE
sekarang diperuntukkan ketika file dasar tidak dapat dibaca sebagai tabel Delta.
Perubahan perilaku
Perubahan besar: RStudio yang dihosting mencapai akhir masa pakai: Dengan rilis ini, Server RStudio yang dihosting Databricks telah mencapai akhir masa pakai dan tidak tersedia di ruang kerja Azure Databricks apa pun yang berjalan pada komputasi serverless. Untuk mempelajari lebih lanjut dan melihat daftar alternatif untuk RStudio, lihat penghentian server RStudio yang di-host.
perubahan Melanggar: Penghapusan dukungan untuk mengubah jenis
byte
,short
,int
, danlong
ke jenis yang lebih luas: Untuk memastikan perilaku yang konsisten di seluruh tabel Delta dan Iceberg, perubahan jenis data berikut tidak dapat lagi diterapkan ke tabel dengan fitur pelesiran jenis diaktifkan:-
byte
,short
,int
danlong
kedecimal
. -
byte
,short
, danint
kedouble
.
-
Penguraian pola regex yang benar dengan negasi dalam pengelompokan karakter berlapis: Rilis ini mencakup perubahan untuk mendukung penguraian pola regex yang benar dengan negasi dalam pengelompokan karakter berlapis. Misalnya,
[^[abc]]
akan diuraikan sebagai "karakter apa pun yang BUKAN salah satu 'abc'".Selain itu, perilaku Photon tidak konsisten dengan Spark untuk kelas karakter berlapis. Pola regex yang berisi kelas karakter berlapis tidak akan lagi menggunakan Photon, dan sebaliknya akan menggunakan Spark. Kelas karakter berlapis adalah pola apa pun yang berisi tanda kurung siku dalam tanda kurung siku, seperti
[[a-c][1-3]]
.Meningkatkan deteksi kecocokan duplikat di Delta Lake
MERGE
:MERGE
sekarang mempertimbangkan kondisi yang ditentukan dalam klausaWHEN MATCHED
. Lihat Upsert pada tabel Delta Lake menggunakan merge.Fungsionalitas
addArtifact()
sekarang konsisten di seluruh jenis komputasi: Saat Anda menggunakanaddArtifact(archive = True)
untuk menambahkan dependensi ke komputasi tanpa server, arsip secara otomatis dibongkar. Perubahan ini membuat perilakuaddArtifact(archive = True)
konsisten dengan komputasi pengguna tunggal, yang sudah mendukung pembongkaran arsip secara otomatis.Tipe data
VARIANT
tidak dapat lagi digunakan dengan operasi yang memerlukan perbandingan: Anda tidak dapat menggunakan klausul atau operator berikut dalam kueri yang menyertakan jenis dataVARIANT
:DISTINCT
INTERSECT
EXCEPT
UNION
DISTRIBUTE BY
Selain itu, Anda tidak dapat menggunakan fungsi DataFrame ini:
df.dropDuplicates()
df.repartition()
Operasi ini melakukan perbandingan, dan perbandingan yang menggunakan jenis data
VARIANT
menghasilkan hasil yang tidak terdefinisi dan tidak didukung di Databricks. Jika Anda menggunakan jenisVARIANT
dalam beban kerja atau tabel Azure Databricks Anda, Databricks merekomendasikan perubahan berikut:- Perbarui kueri atau ekspresi untuk secara eksplisit melemparkan nilai
VARIANT
ke jenis data non-VARIANT
. - Jika Anda memiliki bidang yang harus digunakan dengan salah satu operasi di atas, ekstrak bidang tersebut dari jenis data
VARIANT
dan simpan menggunakan jenis data non-VARIANT
.
Lihat data varian kueri.
Perbaikan bug
- Sekarang, offset zona waktu mencakup detik saat diserialkan ke format CSV, JSON, dan XML: Tanda waktu dengan offset zona waktu yang mencakup detik (umum untuk tanda waktu dari sebelum 1900) mengabaikan detik saat diserialkan ke CSV, JSON, dan XML. Formatter tanda waktu default telah diperbaiki dan sekarang mengembalikan nilai offset yang benar untuk tanda waktu ini.
Perubahan lainnya
-
Mengganti nama kode kesalahan untuk sumber Streaming Terstruktur
cloudFiles
: Kode kesalahan berikut telah diganti namanya:-
_LEGACY_ERROR_TEMP_DBR_0143
diganti namanya menjadiCF_INCORRECT_STREAM_USAGE
. -
_LEGACY_ERROR_TEMP_DBR_0260
diganti namanya menjadiCF_INCORRECT_BATCH_USAGE
.
-
Versi 15.4
28 Oktober 2024
Rilis komputasi tanpa server ini kira-kira sesuai dengan Databricks Runtime 15.4
Fitur baru
-
Fungsi validasi UTF-8: Rilis ini memperkenalkan fungsi berikut untuk memvalidasi string UTF-8:
- is_valid_utf8 memverifikasi apakah string adalah string UTF-8 yang valid.
- make_valid_utf8 mengonversi string UTF-8 yang berpotensi tidak valid ke string UTF-8 yang valid menggunakan karakter substitusi.
- validate_utf8 menimbulkan kesalahan jika input bukan string UTF-8 yang valid.
-
try_validate_utf8 mengembalikan
NULL
jika input bukan string UTF-8 yang valid.
- Aktifkan UniForm Iceberg menggunakan ALTER TABLE: Anda sekarang dapat mengaktifkan UniForm Iceberg pada tabel yang ada tanpa menulis ulang file data. Lihat Mengaktifkan pembacaan menggunakan Iceberg pada tabel yang ada.
-
try_url_decode fungsi: Rilis ini memperkenalkan fungsi try_url_decode , yang mendekode string yang dikodekan URL. Jika string tidak dalam format yang benar, fungsi mengembalikan alih-alih
NULL
meningkatkan kesalahan. -
Secara opsional memungkinkan pengoptimal untuk mengandalkan batasan kunci asing yang tidak diberlakukan: Untuk meningkatkan performa kueri, Anda sekarang dapat menentukan kata kunci
RELY
pada batasanFOREIGN KEY
saat Anda MEMBUAT atau MENGUBAH tabel. -
Pekerjaan paralel berjalan untuk penimpaan selektif: Penimpaan Selektif menggunakan
replaceWhere
sekarang menjalankan proses yang menghapus data dan menyisipkan data baru secara paralel, meningkatkan kinerja kueri dan utilisasi kluster. -
Peningkatan performa untuk umpan data perubahan dengan penimpaan selektif: Penimpaan selektif dengan menggunakan
replaceWhere
pada tabel dengan umpan data perubahan tidak lagi membuat file data perubahan terpisah untuk data yang disisipkan. Operasi ini menggunakan kolom tersembunyi_change_type
yang ada di file data Parquet dasar untuk merekam perubahan tanpa peningkatan volume tulis. -
Latensi kueri yang disempurnakan
COPY INTO
untuk perintah: Rilis ini menyertakan perubahan yang meningkatkan latensi kueri untukCOPY INTO
perintah. Peningkatan ini diimplementasikan dengan membuat pemuatan negara oleh rocksDB state store asinkron. Dengan perubahan ini, Anda akan melihat peningkatan pada waktu mulai untuk kueri dengan status besar, seperti kueri dengan sejumlah besar file yang sudah diserap. -
Dukungan untuk menghilangkan fitur tabel batasan pemeriksaan: Sekarang Anda dapat menghilangkan fitur tabel
checkConstraints
dari tabel Delta menggunakanALTER TABLE table_name DROP FEATURE checkConstraints
. Lihat Menonaktifkan batasan pemeriksaan.
Perubahan perilaku
Perubahan pengikatan Skema untuk tampilan: Ketika tipe data dalam kueri yang mendasari tampilan berubah dari tipe yang digunakan ketika tampilan pertama kali dibuat, Databricks tidak lagi menimbulkan kesalahan untuk referensi terhadap tampilan ketika tidak ada konversi aman yang dapat dilakukan.
Sebagai gantinya, tampilan
mengkompensasi dengan menggunakan aturan transmisireguler jika memungkinkan. Perubahan ini memungkinkan Databricks untuk mentolerir perubahan skema tabel dengan lebih mudah. Melarang toleransi sintaksis yang tidak terdokumentasi
!
untukNOT
logika boolean luar: Databricks tidak akan lagi mentolerir penggunaan!
sebagai sinonim untukNOT
di luar logika boolean. Perubahan ini mengurangi kebingungan, selaras dengan standar SQL, dan membuat SQL lebih portabel. Contohnya:CREATE ... IF ! EXISTS
, IS! NULL, properti kolom atau bidang! NULL
,! IN
dan ! BETWEEN harus diganti dengan:CREATE ... IF NOT EXISTS
,IS NOT NULL
, properti kolom atau bidangNOT NULL
,NOT IN
danNOT BETWEEN
.Operator
!
awalan boolean (misalnya!is_mgr
atau!(true AND false)
) tidak terpengaruh oleh perubahan ini.Melarang bagian sintaks definisi kolom yang tidak terdokumentasi dan tidak diolah pada tampilan: Databricks mendukung CREATE VIEW dengan kolom bernama dan komentar kolom.
Spesifikasi jenis kolom, batasan
NOT NULL
, atauDEFAULT
telah ditoleransi dalam sintaks tanpa memiliki efek apa pun. Databricks akan menghapus toleransi sintaks ini. Melakukannya mengurangi kebingungan, selaras dengan standar SQL, dan memungkinkan peningkatan di masa mendatang.Penanganan kesalahan yang konsisten untuk decoding Base64 di Spark dan Photon: Rilis ini mengubah cara Photon menangani kesalahan decoding Base64 agar sesuai dengan penanganan Spark dari kesalahan ini. Sebelum perubahan ini, jalur pembuatan kode Photon dan Spark terkadang gagal menaikkan pengecualian penguraian, sementara eksekusi yang ditafsirkan Spark dinaikkan
IllegalArgumentException
dengan benar atauConversionInvalidInputError
. Pembaruan ini memastikan bahwa Photon secara konsisten menimbulkan pengecualian yang sama dengan Spark selama kesalahan decoding Base64, memberikan penanganan kesalahan yang lebih dapat diprediksi dan dapat diandalkan.Menambahkan batasan
CHECK
pada kolom yang tidak valid sekarang mengembalikan UNRESOLVED_COLUMN. WITH_SUGGESTION kelas kesalahan: Untuk memberikan pesan kesalahan yang lebih berguna, dalam Databricks Runtime 15.3 ke atas, pernyataanALTER TABLE ADD CONSTRAINT
yang menyertakan batasanCHECK
yang merujuk nama kolom yang tidak valid mengembalikan UNRESOLVED_COLUMN. WITH_SUGGESTION kelas kesalahan. Sebelumnya, sebuahINTERNAL_ERROR
dikembalikan.
JDK ditingkatkan dari JDK 8 ke JDK 17
15 Agustus 2024
Komputasi tanpa server untuk notebook dan alur kerja telah dimigrasikan dari Java Development Kit (JDK) 8 ke JDK 17 di sisi server. Peningkatan ini mencakup perubahan perilaku berikut:
Penguraian pola regex yang benar dengan negasi dalam pengelompokan karakter berlapis: Dengan peningkatan ini, Azure Databricks sekarang mendukung penguraian pola regex yang benar dengan negasi dalam pengelompokan karakter berlapis. Misalnya,
[^[abc]]
akan diuraikan sebagai "karakter apa pun yang BUKAN salah satu 'abc'".Selain itu, perilaku Photon tidak konsisten dengan Spark untuk kelas karakter berlapis. Pola regex yang berisi kelas karakter berlapis tidak akan lagi menggunakan Photon, dan sebaliknya akan menggunakan Spark. Kelas karakter berlapis adalah pola apa pun yang berisi tanda kurung siku dalam tanda kurung siku, seperti
[[a-c][1-3]]
.
Versi 15.1
23 Juli 2024
Rilis komputasi tanpa server ini kira-kira sesuai dengan Databricks Runtime 15.1
Fitur baru
Dukungan untuk sintaks bintang (*
) dalam klausa WHERE
: Anda sekarang dapat menggunakan sintaks bintang (*
) dalam klausa WHERE
untuk mengacu semua kolom dari daftar SELECT
.
Contohnya,SELECT * FROM VALUES(1, 2) AS T(a1, a2) WHERE 1 IN(T.*)
.
Perubahan
Pemulihan kesalahan yang ditingkatkan untuk penguraian JSON: Pengurai JSON yang digunakan untuk from_json()
dan ekspresi jalur JSON sekarang pulih lebih cepat dari sintaksis cacat, yang mengakibatkan lebih sedikit kehilangan data.
Saat mengalami sintaks JSON yang salah bentuk dalam bidang struct, nilai array, kunci peta, atau nilai peta, pengurai JSON sekarang akan mengembalikan NULL
hanya untuk bidang, kunci, atau elemen yang tidak dapat dibaca. Bidang, kunci, atau elemen berikutnya akan diurai dengan benar. Sebelum perubahan ini, pengurai JSON meninggalkan penguraian array, struktur, atau peta dan dikembalikan NULL
untuk konten yang tersisa.
Versi 14.3
15 April 2024
Ini adalah versi komputasi tanpa server awal. Versi ini kira-kira sesuai dengan Databricks Runtime 14.3 dengan beberapa modifikasi yang menghapus dukungan untuk beberapa fitur non-serverless dan warisan.
Parameter konfigurasi Spark yang Didukung
Untuk mengotomatiskan konfigurasi Spark pada komputasi tanpa server, Azure Databricks telah menghapus dukungan untuk mengatur sebagian besar konfigurasi Spark secara manual. Anda hanya dapat mengatur parameter konfigurasi Spark berikut secara manual:
-
spark.sql.legacy.timeParserPolicy
(Nilai defaultCORRECTED
) -
spark.sql.session.timeZone
(Nilai defaultEtc/UTC
) -
spark.sql.shuffle.partitions
(Nilai defaultauto
) -
spark.sql.ansi.enabled
(Nilai defaulttrue
)
Pekerjaan yang berjalan pada komputasi tanpa server akan gagal jika Anda mengatur konfigurasi Spark yang tidak ada dalam daftar ini.
Untuk informasi selengkapnya tentang mengonfigurasi properti Spark, lihat Mengatur properti konfigurasi Spark di Azure Databricks.
fungsi input_file tidak digunakan lagi
Fungsi input_file_name(), input_file_block_length(), dan input_file_block_start() tidak digunakan lagi. Menggunakan fungsi-fungsi ini sangat tidak disarankan.
Sebagai gantinya, gunakan kolom metadata file untuk mengambil informasi metadata file.
Perubahan perilaku
Komputasi tanpa server versi 2024.15 menyertakan perubahan perilaku berikut:
-
perbaikan bug unhex(hexStr): Saat menggunakan
unhex(hexStr)
fungsi , hexStr selalu diisi kiri ke seluruh byte. Sebelumnya fungsi unhex mengabaikan byte paruh pertama. Misalnya:unhex('ABC')
sekarang menghasilkan alih-alihx'0ABC'
x'BC'
. - Alias kolom yang dihasilkan secara otomatis sekarang stabil: Saat hasil ekspresi direferensikan tanpa alias kolom yang ditentukan pengguna, alias yang dihasilkan secara otomatis ini sekarang akan stabil. Algoritma baru dapat mengakibatkan perubahan pada nama yang dihasilkan secara otomatis sebelumnya yang digunakan dalam fitur seperti tampilan materialisasi.
-
Pemindaian tabel dengan bidang jenis
CHAR
sekarang selalu diisi: tabel Delta, tabel JDBC tertentu, dan sumber data eksternal menyimpan data CHAR dalam bentuk tidak berisi tambahan padding. Saat membaca, Azure Databricks sekarang akan mengaitkan data dengan spasi ke panjang yang dinyatakan untuk memastikan semantik yang benar. -
Konversi dari BIGINT/DECIMAL ke TIMESTAMP akan menghasilkan kesalahan untuk nilai yang melampaui batas: Azure Databricks memungkinkan konversi dari BIGINT dan DESIMAL ke TIMESTAMP dengan memperlakukan nilai sebagai jumlah detik dari epoch Unix. Sebelumnya, Azure Databricks akan mengembalikan nilai overflow, tetapi sekarang menghasilkan pengecualian dalam kasus overflow. Gunakan
try_cast
untuk mengembalikan NULL alih-alih pengecualian. -
Eksekusi PySpark UDF telah ditingkatkan agar sesuai dengan perilaku eksekusi UDF yang tepat pada komputasi pengguna tunggal: Perubahan berikut telah dilakukan:
- UDF dengan jenis pengembalian string tidak lagi secara implisit mengonversi nilai non-string menjadi string. Sebelumnya, UDF dengan jenis
str
pengembalian akan menerapkanstr(..)
pembungkus ke hasil terlepas dari jenis data aktual dari nilai yang dikembalikan. - UDF dengan jenis pengembalian
timestamp
tidak lagi secara implisit menerapkan konversi zona waktu ke tanda waktu.
- UDF dengan jenis pengembalian string tidak lagi secara implisit mengonversi nilai non-string menjadi string. Sebelumnya, UDF dengan jenis