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:
- Impor kode: Impor kode Anda sendiri dari file atau repositori Git atau coba tutorial yang tercantum di bawah ini. Databricks merekomendasikan pembelajaran menggunakan Notebook Databricks interaktif.
- Jalankan kode Anda pada kluster: Buat kluster Anda sendiri, atau pastikan Anda memiliki izin untuk menggunakan kluster bersama. Lampirkan notebook Anda ke kluster, dan jalankan notebook.
- Kemudian Anda dapat:
- Bekerja dengan himpunan data yang lebih besar menggunakan Apache Spark
- Tambahkan visualisasi
- Mengotomatiskan beban kerja Anda sebagai pekerjaan
- Menggunakan pembelajaran mesin untuk menganalisis data Anda
- Mengembangkan di IDEs
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
- Tutorial: Memuat dan mengubah data menggunakan Apache Spark DataFrames menyediakan panduan untuk membantu Anda mempelajari tentang Apache Spark DataFrames untuk persiapan dan analitik data.
- Tutorial: Delta Lake.
- Tutorial: Jalankan alur Delta Live Tables pertama Anda.
Ilmu data dan pembelajaran mesin
- Mulai menggunakan Apache Spark DataFrames untuk persiapan dan analitik data: Tutorial: Memuat dan mengubah data menggunakan Apache Spark DataFrames
- Tutorial: Model ML end-to-end di Azure Databricks. Untuk contoh tambahan, lihat Tutorial: Mulai menggunakan AI dan pembelajaran mesin dan Panduan MLflow Mulai Cepat Python.
- Mosaic AutoML memungkinkan Anda memulai dengan cepat dengan mengembangkan model pembelajaran mesin pada himpunan data Anda sendiri. Pendekatan kotak kacanya menghasilkan notebook dengan alur kerja pembelajaran mesin lengkap, yang dapat Anda kloning, ubah, dan jalankan ulang.
- Mengelola siklus hidup model di Unity Catalog
- Tutorial: Model ML end-to-end di Azure Databricks
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
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
memasangmy_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:
- Pelatihan scikit-learn dan tracking dengan MLflow: tutorial 10 menit: pembelajaran mesin di Databricks dengan scikit-learn
- Melatih model pembelajaran mendalam: Pembelajaran mendalam
- Penyetelan hiperparameter: Menyetel hiperparameter Hyperopt paralel
- Analitik grafik: Cara menggunakan GraphFrames di Azure Databricks
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:
Databricks Academy menawarkan kursus mandiri dan dipimpin instruktur tentang banyak topik.
Databricks Labs menyediakan alat untuk pengembangan Python di Databricks seperti plugin pytest dan plugin pylint.
Fitur yang mendukung interoperabilitas antara PySpark dan panda meliputi:
Alat konektivitas database Python dan SQL meliputi:
- Konektor SQL Databricks untuk Python adalah pustaka Python yang memungkinkan Anda untuk menggunakan kode Python guna menjalankan perintah SQL pada sumber daya Azure Databricks.
- pyodbc memungkinkan Anda untuk terhubung dari kode Python lokal Anda melalui ODBC ke data yang disimpan di databricks lakehouse.
Tanya Jawab Umum dan tips untuk memindahkan beban kerja Python ke Databricks dapat ditemukan di Pangkalan Pengetahuan Databricks