Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Databricks mendukung penggunaan berbagai bahasa pemrograman untuk pengembangan dan rekayasa data. Artikel ini menguraikan opsi yang tersedia, di mana bahasa tersebut dapat digunakan, dan batasannya.
Rekomendasi
Databricks merekomendasikan Python dan SQL untuk proyek baru:
- Python adalah bahasa pemrograman tujuan umum yang sangat populer. PySpark DataFrames memudahkan untuk membuat transformasi modular yang dapat diuji. Ekosistem Python juga mendukung berbagai pustaka untuk memperluas solusi Anda.
-
SQL adalah bahasa yang sangat populer untuk mengelola dan memanipulasi himpunan data relasional dengan melakukan operasi seperti mengkueri, memperbarui, menyisipkan, dan menghapus data. SQL adalah pilihan yang baik jika latar belakang Anda terutama dalam database atau pergudangan data. SQL juga dapat disematkan di Python menggunakan
spark.sql.
Bahasa berikut memiliki dukungan terbatas, sehingga Databricks tidak merekomendasikannya untuk proyek rekayasa data baru:
- Scala adalah bahasa yang digunakan untuk pengembangan Apache Spark™.
- R hanya didukung penuh di notebook Databricks.
Dukungan bahasa juga bervariasi tergantung pada kemampuan fitur yang digunakan untuk membangun alur data dan solusi lainnya. Misalnya, Lakeflow Spark Declarative Pipelines mendukung Python dan SQL, sedangkan alur kerja memungkinkan Anda membuat alur data menggunakan Python, SQL, Scala, dan Java.
Nota
Bahasa lain dapat digunakan untuk berinteraksi dengan Databricks untuk mengkueri data atau melakukan transformasi data. Namun, interaksi ini terutama dalam konteks integrasi dengan sistem eksternal. Dalam kasus ini, pengembang dapat menggunakan hampir semua bahasa pemrograman untuk berinteraksi dengan Databricks melalui Databricks REST API, driver ODBC/JDBC, bahasa tertentu dengan konektor Databricks SQL dukungan (Go, Python, Javascript/Node.js), atau bahasa yang memiliki implementasi Spark Connect, seperti Go dan Rust.
Pengembangan ruang kerja vs pengembangan lokal
Anda dapat mengembangkan proyek dan alur data menggunakan ruang kerja Databricks atau IDE (lingkungan pengembangan terintegrasi) di komputer lokal Anda, tetapi memulai proyek baru di ruang kerja Databricks direkomendasikan. Ruang kerja dapat diakses menggunakan browser web, menyediakan akses mudah ke data di Unity Catalog, dan mendukung kemampuan debugging dan fitur yang kuat seperti Asisten Databricks.
Kembangkan kode di ruang kerja Databricks menggunakan notebook Databricks atau editor SQL. Notebook Databricks mendukung beberapa bahasa pemrograman bahkan di dalam notebook yang sama, sehingga Anda dapat mengembangkan menggunakan Python, SQL, dan Scala.
Ada beberapa keuntungan mengembangkan kode langsung di ruang kerja Databricks:
- Perulangan umpan balik lebih cepat. Anda dapat segera menguji kode tertulis pada data nyata.
- Asisten Databricks bawaan yang sadar konteks dapat mempercepat pengembangan dan membantu memperbaiki masalah.
- Anda dapat dengan mudah menjadwalkan buku catatan dan kueri langsung dari ruang kerja Databricks.
- Untuk pengembangan Python, Anda dapat menyusun kode Python dengan benar dengan menggunakan file sebagai paket Python di ruang kerja.
Namun, pengembangan lokal dalam IDE memberikan keuntungan berikut:
- IDE memiliki alat yang lebih baik untuk bekerja dengan proyek perangkat lunak, seperti navigasi, refaktor kode, dan analisis kode statis.
- Anda dapat memilih bagaimana Anda mengontrol sumber, dan jika Anda menggunakan Git, fungsionalitas yang lebih canggih tersedia secara lokal daripada di ruang kerja dengan folder Git.
- Ada berbagai bahasa yang didukung. Misalnya, Anda dapat mengembangkan kode menggunakan Java dan menyebarkannya sebagai tugas JAR.
- Ada dukungan yang lebih baik untuk debugging kode.
- Ada dukungan yang lebih baik untuk bekerja dengan unit test.
Contoh pemilihan bahasa
Pemilihan bahasa untuk rekayasa data divisualisasikan menggunakan pohon keputusan berikut:
Mengembangkan kode Python
Bahasa Python memiliki dukungan kelas satu di Databricks. Anda dapat menggunakannya di notebook Databricks, Alur dan alur kerja Deklaratif Lakeflow Spark, untuk mengembangkan UDF, dan juga menyebarkannya sebagai skrip Python dan sebagai roda.
Saat mengembangkan proyek Python di ruang kerja Databricks, baik sebagai notebook atau dalam file, Databricks menyediakan alat seperti penyelesaian kode, navigasi, validasi sintaks, pembuatan kode menggunakan Asisten Databricks, penelusuran kesalahan interaktif, dan lebih. Kode yang dikembangkan dapat dijalankan secara interaktif, disebarkan sebagai alur kerja Databricks atau Alur Deklaratif Lakeflow Spark, atau bahkan sebagai fungsi di Katalog Unity. Anda dapat menyusun kode dengan membaginya menjadi paket Python terpisah yang kemudian dapat digunakan dalam beberapa alur atau pekerjaan.
Databricks menyediakan ekstensi untuk Visual Studio Code dan JetBrains menawarkan plugin untuk PyCharm yang memungkinkan Anda mengembangkan kode Python dalam IDE, menyinkronkan kode ke ruang kerja Databricks, menjalankannya di dalam ruang kerja, dan melakukan debugging langkah demi langkah menggunakan Databricks Connect. Kode yang dikembangkan kemudian dapat disebarkan menggunakan Bundel Aset Databricks sebagai pekerjaan atau pipeline di Databricks.
Mengembangkan kode SQL
Bahasa SQL dapat digunakan di dalam notebook Databricks atau sebagai kueri Databricks menggunakan editor SQL. Dalam kedua kasus, pengembang mendapatkan akses ke alat seperti penyelesaian kode, dan Asisten Databricks sadar konteks yang dapat digunakan untuk pembuatan kode dan memperbaiki masalah. Kode yang dikembangkan dapat disebarkan sebagai tugas atau pipeline.
Alur kerja Databricks juga memungkinkan Anda menjalankan kode SQL yang disimpan dalam file. Anda dapat menggunakan IDE untuk membuat file-file ini dan mengunggahnya ke ruang kerja. Penggunaan SQL populer lainnya adalah dalam alur rekayasa data yang dikembangkan menggunakan dbt (alat build data). Alur kerja Databricks mendukung orkestrasi proyek dbt.
Mengembangkan kode Scala
Scala adalah bahasa asli Apache Spark™. Ini adalah bahasa yang kuat, tetapi memiliki kurva pembelajaran yang curam. Meskipun Scala adalah bahasa yang didukung dalam buku catatan Databricks, ada beberapa batasan yang terkait dengan bagaimana kelas dan objek Scala dibuat dan dipertahankan yang dapat membuat pengembangan alur yang kompleks lebih sulit. Biasanya IDEs memberikan dukungan yang lebih baik untuk pengembangan kode Scala, yang kemudian dapat disebarkan menggunakan tugas JAR dalam alur kerja Databricks.
Langkah berikutnya
- Kembangkan di Databricks adalah titik masuk untuk dokumentasi tentang berbagai opsi pengembangan untuk Databricks.
- Halaman alat pengembangan menjelaskan berbagai alat pengembangan yang dapat digunakan untuk melakukan pengembangan lokal untuk Databricks, termasuk Bundel Aset Databricks dan plugin untuk IDE.
- Mengembangkan kode di notebook Databricks menjelaskan cara mengembangkan di ruang kerja Databricks menggunakan notebook Databricks.
- Menulis kueri dan menjelajahi data di editor SQL. Artikel ini menjelaskan cara menggunakan editor Databricks SQL untuk bekerja dengan kode SQL.
- Mengembangkan Lakeflow Spark Declarative Pipelines menjelaskan proses pengembangan untuk Alur Deklaratif Lakeflow Spark.
- Databricks Connect memungkinkan Anda terhubung ke kluster Databricks dan menjalankan kode dari lingkungan lokal Anda.
- Pelajari cara menggunakan asisten Databricks untuk pengembangan yang lebih cepat dan mengatasi masalah kode.