Bagikan melalui


Batasan komputasi tanpa server

Artikel ini menjelaskan batasan komputasi tanpa server saat ini untuk buku catatan dan pekerjaan. Ini dimulai dengan gambaran umum dari pertimbangan yang paling penting dan kemudian menyediakan daftar lengkap batasan.

Dukungan bahasa dan API

  • R tidak didukung.
  • Hanya API Spark Connect yang didukung. API Spark RDD tidak didukung.
  • Spark Connect, yang digunakan oleh komputasi tanpa server, menunda analisis dan resolusi nama ke waktu eksekusi, yang dapat mengubah perilaku kode Anda. Lihat Membandingkan Spark Connect dengan Spark Classic.
  • ANSI SQL adalah default saat menulis SQL. Menolak mode ANSI dengan mengatur spark.sql.ansi.enabled ke false.
  • Saat membuat DataFrame dari data lokal menggunakan spark.createDataFrame, ukuran baris tidak boleh melebihi 128MB.

Akses dan penyimpanan data

  • Anda harus menggunakan Unity Catalog untuk menyambungkan ke sumber data eksternal. Gunakan lokasi eksternal untuk mengakses penyimpanan cloud.
  • Akses ke DBFS terbatas. Gunakan volume "Unity Catalog" atau File ruang kerja sebagai gantinya.
  • Koordinat Maven tidak didukung.
  • Tampilan sementara global tidak didukung. Saat data lintas sesi diperlukan, Databricks merekomendasikan penggunaan tampilan sementara sesi atau membuat tabel.

Fungsi yang ditentukan pengguna (UDF)

  • Fungsi yang ditentukan pengguna (UDF) tidak dapat mengakses internet. Karena itu, perintah CREATE FUNCTION (Eksternal) tidak didukung. Databricks merekomendasikan penggunaan (SQL dan Python) untuk membuat UDF.
  • Kode kustom yang ditentukan pengguna, seperti UDF, map, dan mapPartitions, tidak boleh melebihi 1 GB dalam penggunaan memori.
  • UDF Scala tidak dapat digunakan di dalam fungsi dengan urutan yang lebih tinggi.

UI dan pengelogan

  • Antarmuka pengguna Spark tidak tersedia. Sebagai gantinya, gunakan profil kueri untuk menampilkan informasi tentang kueri Spark Anda. Lihat Profil Kueri.
  • Log Spark tidak tersedia. Pengguna hanya memiliki akses ke log aplikasi sisi klien.

Akses jaringan dan ruang kerja

  • Akses lintas ruang kerja hanya diperbolehkan jika ruang kerja berada di wilayah yang sama dan ruang kerja tujuan tidak memiliki IP ACL atau PrivateLink front-end yang dikonfigurasi.
  • Layanan Kontainer Databricks tidak didukung.

Pembatasan streaming

Batasan buku catatan

  • Scala dan R tidak didukung di notebook.
  • Pustaka JAR tidak didukung di notebook. Untuk solusinya, lihat Praktik terbaik untuk komputasi tanpa server. Tugas JAR dalam pekerjaan didukung. Lihat tugas JAR untuk pekerjaan.
  • Pustaka yang terikat ke buku catatan tidak disimpan dalam cache antara sesi pengembangan.
  • Berbagi tabel dan tampilan TEMP saat berbagi buku catatan di antara pengguna tidak didukung.
  • Pelengkapan otomatis dan Penjelajah Variabel untuk dataframe dalam notebook tidak didukung.
  • Secara default, buku catatan baru disimpan dalam .ipynb format. Jika buku catatan Anda disimpan dalam format sumber, metadata tanpa server mungkin tidak ditangkap dengan benar, dan beberapa fitur mungkin tidak berfungsi seperti yang diharapkan.
  • Tag notepad tidak didukung. Gunakan kebijakan anggaran tanpa server untuk menandai penggunaan tanpa server.

Batasan pekerjaan

  • Log tugas tidak terisolasi per pelaksanaan tugas. Log akan berisi output dari beberapa tugas.
  • Pustaka tugas tidak didukung untuk tugas dalam buku catatan. Gunakan pustaka lingkup notebook sebagai gantinya. Lihat Pustaka Python bercakupan notebook.
  • Secara default, pekerjaan tanpa server tidak memiliki batas waktu eksekusi kueri. Anda dapat mengatur batas waktu eksekusi untuk kueri pekerjaan menggunakan spark.databricks.execution.timeout properti . Untuk detail selengkapnya, lihat Mengonfigurasi properti Spark untuk buku catatan dan pekerjaan tanpa server.

Batasan khusus komputasi

Fitur khusus komputasi berikut ini tidak didukung:

Pembatasan cache

Batasan Hive

  • tabel Hive SerDe tidak didukung. Selain itu, perintah LOAD DATA terkait yang memuat data ke dalam tabel Apache Hive SerDe tidak didukung. Menggunakan perintah akan menghasilkan pengecualian.

    Dukungan untuk sumber data terbatas pada AVRO, BINARYFILE, CSV, DELTA, JSON, KAFKA, ORC, PARQUET, ORC, TEXT, dan XML.

  • Variabel Hive (misalnya ${env:var}, ${configName}, ${system:var}, dan spark.sql.variable) atau referensi variabel konfigurasi dengan sintaks ${var} tidak didukung. Menggunakan variabel Hive akan menghasilkan pengecualian.

    Sebagai gantinya, gunakan DECLARE VARIABLE, SET VARIABLE, dan referensi variabel sesi SQL serta penanda parameter ('?', atau ':var') untuk mendeklarasikan, memodifikasi, dan mereferensikan status sesi. Anda juga dapat menggunakan klausa IDENTIFIER untuk membuat parameter nama objek dalam banyak kasus.

Sumber data yang didukung

Komputasi tanpa server mendukung sumber data berikut untuk operasi DML (tulis, perbarui, hapus):

  • CSV
  • JSON
  • AVRO
  • DELTA
  • KAFKA
  • PARQUET
  • ORC
  • TEXT
  • UNITY_CATALOG
  • BINARYFILE
  • XML
  • SIMPLESCAN
  • ICEBERG

Komputasi tanpa server mendukung sumber data berikut untuk operasi baca:

  • CSV
  • JSON
  • AVRO
  • DELTA
  • KAFKA
  • PARQUET
  • ORC
  • TEXT
  • UNITY_CATALOG
  • BINARYFILE
  • XML
  • SIMPLESCAN
  • ICEBERG
  • MYSQL
  • POSTGRESQL
  • SQLSERVER
  • REDSHIFT
  • SNOWFLAKE
  • SQLDW (Azure Synapse)
  • DATABRICKS
  • BIGQUERY
  • ORACLE
  • SALESFORCE
  • SALESFORCE_DATA_CLOUD
  • TERADATA
  • WORKDAY_RAAS
  • MONGODB