Bagikan melalui


Azure Databricks untuk pengembang Python

Bagian ini menyediakan panduan untuk mengembangkan buku catatan dan pekerjaan di Azure Databricks menggunakan bahasa Python, termasuk tutorial untuk alur kerja dan tugas umum, dan tautan ke API, pustaka, dan alat.

Memulai:

Tutorial

Tutorial di bawah ini menyediakan contoh kode dan notebook untuk mempelajari tentang alur kerja umum. Lihat Mengimpor buku catatan untuk instruksi tentang mengimpor contoh notebook ke ruang kerja Anda.

Rekayasa Data

Ilmu data dan pembelajaran mesin

Debug di buku catatan Python

Contoh notebook mengilustrasikan cara menggunakan debugger Python (pdb) di buku catatan Databricks. Untuk menggunakan debugger Python, Anda harus menjalankan Databricks Runtime 11.3 LTS atau lebih tinggi.

Dengan Databricks Runtime 12.2 LTS ke atas, Anda dapat menggunakan penjelajah variabel untuk melacak nilai variabel Python saat ini di UI notebook. Anda dapat menggunakan penjelajah variabel untuk mengamati nilai variabel Python saat Anda menelusuri titik henti.

Contoh notebook debugger Python

Dapatkan buku catatan

Catatan

breakpoint()tidak didukung di IPython dan dengan demikian tidak berfungsi di notebook Databricks. Anda dapat menggunakan import pdb; pdb.set_trace() alih-alih breakpoint().

API Python

Kode Python yang berjalan di luar Databricks umumnya dapat berjalan dalam Databricks, dan sebaliknya. Jika Anda memiliki kode yang ada, cukup impor ke Databricks untuk memulai. Lihat Mengelola kode dengan notebook dan folder Databricks Git di bawah ini untuk detailnya.

Databricks dapat menjalankan beban kerja Python satu komputer dan terdistribusi. Untuk komputasi mesin tunggal, Anda dapat menggunakan API dan pustaka Python seperti biasa; misalnya, panda dan scikit-learn akan “hanya berfungsi.” Untuk beban kerja Python terdistribusi, Databricks menawarkan dua API populer di luar kotak: PySpark dan Pandas API di Spark.

API PySpark

PySpark adalah API Python resmi untuk Apache Spark dan menggabungkan kekuatan Python dan Apache Spark. PySpark lebih fleksibilitas daripada Pandas API di Spark dan memberikan dukungan dan fitur yang luas untuk ilmu data dan fungsionalitas teknik seperti Spark SQL, Structured Streaming, MLLib, dan GraphX.

API Panda pada Spark

Catatan

Proyek sumber terbuka Koalas sekarang merekomendasikan beralih ke API Pandas di Spark. API Pandas di Spark tersedia pada kluster yang menjalankan Databricks Runtime 10.0 (EoS) ke atas. Untuk kluster yang menjalankan Databricks Runtime 9.1 LTS ke bawah, gunakan Koalas sebagai gantinya.

panda adalah paket Python yang umumnya digunakan oleh ilmuwan data untuk analisis dan manipulasi data. Namun, panda tidak menskalakan ke data besar. API Pandas di Spark mengisi celah ini dengan menyediakan API setara pandas yang berfungsi pada Apache Spark. API sumber terbuka ini adalah pilihan ideal untuk ilmuwan data yang terbiasa dengan panda tetapi bukan Apache Spark.

Mengelola kode dengan notebook dan folder Databricks Git

Notebook Databricks mendukung Python. Notebook ini menyediakan fungsionalitas yang mirip dengan Jupyter, tetapi dengan penambahan seperti visualisasi bawaan menggunakan big data, integrasi Apache Spark untuk penelusuran kesalahan dan pemantauan performa, dan integrasi MLflow untuk melacak eksperimen pembelajaran mesin. Mulailah dengan mengimpor notebook. Setelah Anda memiliki akses ke kluster, Anda bisa melampirkan notebook ke kluster dan menjalankan notebook.

Tip

Untuk mereset status notebook Anda sepenuhnya, akan berguna untuk memulai ulang kernel iPython. Untuk pengguna Jupyter, opsi "hidupkan ulang kernel" di Jupyter sesuai dengan melepaskan dan melampirkan ulang notebook di Databricks. Untuk memulai ulang kernel di buku catatan Python, klik pemilih komputasi di toolbar buku catatan dan arahkan kursor ke kluster terlampir atau gudang SQL dalam daftar untuk menampilkan menu samping. Pilih Lepaskan & lampirkan ulang. Ini melepaskan notebook dari kluster Anda dan memasangnya kembali, yang memulai ulang proses Python.

Folder Databricks Git memungkinkan pengguna menyinkronkan notebook dan file lain dengan repositori Git. Folder Databricks Git membantu penerapan versi dan kolaborasi kode, dan dapat menyederhanakan impor repositori kode lengkap ke Azure Databricks, melihat versi buku catatan sebelumnya, dan mengintegrasikan dengan pengembangan IDE. Mulailah dengan mengkloning repositori Git jarak jauh. Anda kemudian dapat membuka atau membuat buku catatan dengan klon repositori, melampirkan buku catatan ke kluster, dan menjalankan buku catatan.

Kluster dan pustaka

Komputasi Azure Databricks menyediakan manajemen komputasi untuk kluster dengan ukuran apa pun: dari kluster simpul tunggal hingga kluster besar. Anda dapat menyesuaikan perangkat keras dan pustaka kluster sesuai dengan kebutuhan Anda. Ilmuwan data umumnya akan mulai bekerja baik dengan membuat kluster atau menggunakan kluster bersama yang ada. Setelah Anda memiliki akses ke kluster, Anda dapat melampirkan buku catatan ke kluster atau menjalankan pekerjaan pada kluster.

  • Untuk beban kerja kecil yang hanya memerlukan simpul tunggal, ilmuwan data dapat menggunakan komputasi simpul tunggal untuk penghematan biaya.
  • Untuk tips terperinci, lihat Rekomendasi konfigurasi komputasi
  • Administrator dapat menyiapkan kebijakan kluster untuk menyederhanakan dan memandu pembuatan kluster.

Kluster Azure Databricks menggunakan Databricks Runtime, yang menyediakan banyak pustaka populer di luar kotak, termasuk Apache Spark, Delta Lake, pandas, dan banyak lagi. Anda juga dapat memasang perpustakaan Python pihak ketiga atau kustom tambahan untuk digunakan dengan buku catatan dan pekerjaan.

  • Mulailah dengan pustaka default dalam versi dan kompatibilitas catatan rilis Databricks Runtime. Gunakan Databricks Runtime untuk Pembelajaran Mesin untuk beban kerja pembelajaran mesin. Untuk daftar lengkap pustaka yang telah diinstal sebelumnya, lihat Versi dan kompatibilitas catatan rilis Databricks Runtime.
  • Kustomisasi lingkungan Anda menggunakan pustaka Python dengan cakupan notebook, yang memungkinkan Anda mengubah buku catatan atau lingkungan pekerjaan Anda dengan pustaka dari PyPI atau repositori lainnya. Perintah ajaib %pip install my_library memasang my_library ke semua node di kluster Anda yang saat ini terpasang, namun tidak mengganggu beban kerja lain pada kluster bersama.
  • Pasang pustaka non-Python sebagai pustaka Kluster sesuai kebutuhan.
  • Untuk detail selengkapnya, lihat Pustaka.

Visualisasi

Notebook Azure Databricks Python memiliki dukungan bawaan untuk banyak jenis visualisasi. Anda juga dapat menggunakan visualisasi warisan.

Anda juga dapat memvisualisasikan data menggunakan pustaka pihak ketiga; beberapa telah diinstal sebelumnya di Databricks Runtime, tetapi Anda juga dapat menginstal pustaka kustom. Opsinya meliputi:

Pekerjaan

Anda dapat mengotomatiskan beban kerja Python sebagai pekerjaan terjadwal atau dipicu di Databricks. Pekerjaan dapat menjalankan notebook, skrip Python, dan file roda Python.

  • Buat dan perbarui pekerjaan menggunakan UI Databricks atau Databricks REST API.
  • Databricks Python SDK memungkinkan Anda membuat, mengedit, dan menghapus pekerjaan secara terprogram.
  • Databricks CLI menyediakan antarmuka baris perintah yang nyaman untuk mengotomatiskan pekerjaan.

Tip

Untuk menjadwalkan skrip Python, bukan buku catatan, gunakan bidang spark_python_task pada tasks di bagian body permintaan buat pekerjaan.

Pembelajaran Mesin

Databricks mendukung berbagai beban kerja pembelajaran mesin (ML), termasuk ML tradisional pada data tabular, pembelajaran mendalam untuk visi komputer dan pemrosesan bahasa alami, sistem rekomendasi, analitik grafik, dan banyak lagi. Untuk informasi umum tentang pembelajaran mesin di Databricks, lihat AI dan pembelajaran mesin di Databricks.

Untuk algoritma ML, Anda dapat menggunakan pustaka yang telah diinstal sebelumnya di Databricks Runtime untuk Pembelajaran Mesin, yang mencakup alat Python populer seperti scikit-learn, TensorFlow, Keras, PyTorch, Apache Spark MLlib, dan XGBoost. Anda juga dapat memasang pustaka kustom.

Untuk operasi pembelajaran mesin (MLOps), Azure Databricks menyediakan layanan terkelola untuk pustaka sumber terbuka MLflow. Dengan MLflow Tracking , Anda dapat merekam pengembangan model dan menyimpan model dalam format yang dapat digunakan kembali. Anda dapat menggunakan MLflow Model Registry untuk mengelola dan mengotomatiskan promosi model terhadap produksi. Pekerjaan dan Model Melayani memungkinkan model hosting sebagai pekerjaan batch dan streaming dan sebagai titik akhir REST. Untuk informasi dan contoh selengkapnya, lihat manajemen siklus hidup ML menggunakan MLflow atau dokumen MLflow Python API.

Untuk mulai menggunakan beban kerja pembelajaran mesin umum, lihat halaman berikut:

ID, alat pengembang, dan SDK

Selain mengembangkan kode Python dalam notebook Azure Databricks, Anda dapat mengembangkan secara eksternal menggunakan lingkungan pengembangan terpadu (IDEs) seperti PyCharm, Jupyter, dan Visual Studio Code. Untuk menyinkronkan pekerjaan antara lingkungan pengembangan eksternal dan Databricks, ada beberapa opsi:

  • Kode: Anda dapat menyinkronkan kode menggunakan Git. Lihat Integrasi Git untuk folder Databricks Git.
  • Pustaka dan Pekerjaan: Anda dapat membuat pustaka (seperti file roda Python) secara eksternal dan mengunggahnya ke Databricks. Pustaka tersebut dapat diimpor dalam buku catatan Databricks, atau dapat digunakan untuk membuat pekerjaan. Lihat Pustaka dan Menjadwalkan dan mengatur alur kerja.
  • Eksekusi komputer jarak jauh: Anda dapat menjalankan kode dari IDE lokal Anda untuk pengembangan dan pengujian interaktif. IDE dapat berkomunikasi dengan Azure Databricks untuk menjalankan Apache Spark dan komputasi besar pada kluster Azure Databricks. Lihat Databricks Connect.

Databricks menyediakan sekumpulan SDK, termasuk Python SDK, yang mendukung otomatisasi dan integrasi dengan alat eksternal. Anda dapat menggunakan SDK Databricks untuk mengelola sumber daya seperti kluster dan pustaka, kode dan objek ruang kerja lainnya, beban kerja dan pekerjaan, dan banyak lagi. Lihat SDK Databricks.

Untuk informasi selengkapnya tentang IDEs, alat pengembang, dan SDK, lihat Alat pengembang.

Sumber Daya Tambahan: