Bacaan 7 menit

Memulai Ilmu Data di Kubernetes - Jupyter dan Zeppelin

Getting started with Data Science on Kubernetes - Jupyter and Zeppelin


Bukan rahasia lagi bahwa komunitas analitik data telah bergerak ke arah penggunaan alat yang lebih terbuka dan berbasis cloud. Notebook Apache Zeppelin dan Jupyter adalah dua alat paling populer yang digunakan oleh ilmuwan data saat ini. Dalam posting blog ini, kami akan menunjukkan kepada Anda cara dengan mudah mengintegrasikan Ilum dengan notebook ini sehingga Anda dapat menjalankan beban kerja analitik data Anda pada k8s.

Kubernetes untuk Ilmu Data

Dengan munculnya data besar dan aplikasi intensif data, mengelola dan menerapkan beban kerja ilmu data menjadi semakin kompleks. Di sinilah Kubernetes masuk, karena menyediakan platform yang dapat diskalakan dan fleksibel untuk menjalankan platform komputasi interaktif seperti Jupyter dan Zeppelin.

Komunitas ilmu data telah menggunakan notebook Jupyter untuk waktu yang lama sekarang. Tapi bagaimana dengan menjalankan ilmu data di Kubernetes? Bisakah kita menggunakan notebook Jupyter di k8s? Jawabannya adalah ya! Posting blog ini akan menunjukkan kepada Anda cara menjalankan Ilmu Data di Kubernetes dengan notebook Jupyter dan Zeppelin.

Kami akan menggunakan sesi interaktif Apache Spark dan Ilum untuk meningkatkan komputasi. Fitur sesi interaktif memungkinkan Anda mengirimkan kode Spark dan melihat hasilnya secara real time. Ini adalah cara yang bagus untuk mengeksplorasi data dan mencoba algoritme yang berbeda. Dengan Apache Spark, Anda dapat dengan mudah memproses data dalam jumlah besar, dan fitur sesi interaktif Ilum memudahkan untuk mencoba cuplikan kode yang berbeda dan segera melihat hasilnya.

Ilum, Apache Livy dan Sparkmagic

Ilum dibuat untuk memudahkan ilmuwan dan insinyur data menjalankan Spark di Kubernetes. Kami percaya bahwa dengan menyederhanakan proses itu, kami dapat memudahkan pengguna untuk memulai teknologi ini dan meningkatkan adopsi k8 dalam komunitas Ilmu Data.
Ilum mengimplementasikan antarmuka istirahat Livy, sehingga dapat digunakan sebagai pengganti Apache Livy di lingkungan apa pun. Kami akan menunjukkan cara mengintegrasikan Ilum dengan Sparkmagic.

Baik Ilum dan Livy dapat meluncurkan konteks percikan jangka panjang yang dapat digunakan untuk beberapa pekerjaan percikan, oleh beberapa klien. Namun, ada beberapa perbedaan utama antara keduanya.

Ilum adalah perangkat lunak yang dipelihara dengan baik dan dikembangkan secara aktif, diperbarui dengan perpustakaan dan fitur baru. Livy, di sisi lain, memiliki komunitas yang kuat yang telah menciptakan integrasi dengan banyak aplikasi. Sayangnya, pengembangan Livy terhenti dan karena itu Livy belum siap untuk transformasi Cloud Native.

Ilum dapat dengan mudah naik dan turun dan sangat tersedia. Keuntungan besar yang dimiliki Ilum dibandingkan Livy adalah ia bekerja di Kubernetes. Ini juga memungkinkan integrasi dengan BENANG .

Kedua alat menyediakan antarmuka web yang mudah digunakan untuk memantau kluster percikan dan aplikasi percikan, tetapi Livy's tampaknya sudah ketinggalan zaman dan sangat terbatas.

Jadi, mengapa kita tidak memanfaatkan sepenuhnya Ilum dan Livy?

Ilum-livy-proxy

Ilum memiliki komponen tertanam yang mengimplementasikan Livy API. Ini memungkinkan pengguna untuk memanfaatkan antarmuka REST Livy dan mesin Ilum secara bersamaan.
Kami bekerja keras untuk menambahkan Ular sawah dukungan kepada Ilum, selain yang ada Scala dukung. Pantau terus kami peta jalan untuk tetap up to date dengan kemajuan kami.

Zeppelin dan Jupyter

Zeppelin dan Jupyter adalah buku catatan berbasis web yang memungkinkan analitik data interaktif dan pembuatan dokumen kolaboratif dengan bahasa yang berbeda.

Notebook Jupyter sangat populer di kalangan pengguna Python. Proyek ini telah berevolusi dari lingkungan IPython tetapi sekarang menawarkan dukungan untuk banyak bahasa.

Daftar kernel Jupyter adalah besar .

Zeppelin terintegrasi dengan baik dengan alat big data. Di Zeppelin, dimungkinkan untuk menggabungkan penerjemah yang berbeda dalam satu buku catatan dan kemudian menjalankannya dalam paragraf yang berbeda.

Anda dapat melihat daftar penerjemah yang didukung oleh Zeppelin Sini

Mengintegrasikan notebook dengan Ilum


Pengaturan Ilum

Mari kita mulai dengan meluncurkan cluster Apache Spark di Kubernetes. Dengan Ilum, cukup mudah untuk melakukan ini. Kami akan menggunakan minikube untuk tujuan artikel ini. Hal pertama yang harus kita lakukan adalah menjalankan klaster Kubernetes:

minikube mulai --cpus 4 --memori 12288 --addons metrics-server 

Setelah minikube berjalan, kita dapat beralih ke instalasi Ilum. Pertama, mari tambahkan repositori bagan helm:

helm repo add ilum https://charts.ilum.cloud 

Ilum menyertakan Zeppelin dan Jupyter, tetapi mereka harus diaktifkan secara manual dalam pengaturan instalasi bersama dengan ilum-livy-proxy.

helm instal ilum ilum/ilum --set ilum-zeppelin.enabled=true --set ilum-jupyter.enabled=true --set ilum-livy-proxy.enabled=true 

Diperlukan waktu untuk menginisialisasi semua pod. Anda dapat memeriksa status dengan perintah:

kubectl mendapatkan pod 

Jupyter


Mari kita mulai dengan:

Svc/ilum-Jupyter 8888:8888 

Ilum menggunakan Sparkmagic untuk bekerja dengan Apache Spark di notebook Jupyter. Secara default, Jupyter (dengan Sparkmagic lib terinstal) akan berjalan di port 8888. Untuk mengakses server, buka browser Anda dan buka localhost:8888. Anda harus masuk dengan kata sandi dari log, atau Anda dapat menyalin dan menempelkan seluruh URL dengan "localhost" yang diganti dengan domain.

Log KUBECTL ilum-Jupyter-85F6D9BFB8-T642D 

Setelah Jupyter terbuka, kita harus meluncurkan notebook Python3:

Sekarang mari kita jalankan perintah berikut untuk memuat sihir percikan dan menyiapkan titik akhir.

1. Pertama, kita harus memuat ekstensi sihir percikan. Anda dapat melakukannya dengan menjalankan perintah berikut:

%load_ext sparkmagic.magics 

2. Selanjutnya, kita perlu menyiapkan titik akhir. Titik akhir hanyalah URL yang mengarah ke kluster Spark tertentu. Anda dapat melakukannya dengan menjalankan perintah berikut:

%manage_spark 

Jupyter yang dibundel siap bekerja di luar kotak dan memiliki alamat titik akhir yang telah ditentukan sebelumnya, yang menunjuk ke livy-proxy. Yang harus Anda lakukan adalah memilih titik akhir ini dari daftar dropdown dan klik tombol buat sesi. Sesederhana itu. Sekarang Jupyter akan terhubung dengan ilum-core melalui ilum-livy-proxy untuk membuat sesi percikan. Diperlukan waktu beberapa menit ketika wadah percikan akan aktif dan berjalan. Setelah siap, Anda menerima informasi bahwa sesi percikan tersedia.

Anda sekarang dapat menggunakan sesi Ilum Anda untuk menjalankan kode Spark terhadapnya. Nama yang Anda tetapkan ke sesi akan digunakan di %%sihir percikan untuk menjalankan kode.

Apache Zeppelin


Mari kita mulai dengan:

Svc/Ilum-Zeppelin 8080:8080 

Mirip dengan Jupyter, kami juga membundel notebook Zeppelin dengan Ilum. Perlu diketahui bahwa waktu pembuatan kontainer dapat diperpanjang, karena ukuran gambar yang meningkat. Setelah kontainer dibuat dan berjalan, Anda kemudian dapat mengakses buku catatan Zeppelin di browser Anda di http://localhost:8080.

  1. Untuk mengeksekusi kode, kita perlu membuat catatan:

2. Karena komunikasi dengan Ilum ditangani melalui livy-proxy, kita perlu memilih livy sebagai penerjemah default.

3. Sekarang mari kita buka catatan dan masukkan beberapa kode ke dalam paragraf:


Sama seperti Jupyter, Zeppelin juga memiliki konfigurasi yang telah ditentukan sebelumnya yang diperlukan untuk Ilum. Anda dapat menyesuaikan pengaturan dengan mudah. Cukup buka menu konteks di sudut kanan atas dan klik tombol penerjemah.

Ada daftar panjang penerjemah dan propertinya yang dapat disesuaikan.

Zeppelin menyediakan 3 mode berbeda untuk menjalankan proses penerjemah: dibagikan, tercakup, dan terisolasi. Anda dapat mempelajari lebih lanjut tentang mode pengikatan penerjemah Sini .

Jupyter dan Zeppelin adalah dua alat paling populer untuk ilmu data, dan sekarang tersedia di k8s. Ini berarti bahwa ilmuwan data sekarang dapat menggunakan Kubernetes untuk mengelola dan menerapkan aplikasi ilmu data mereka.

Ilum menawarkan beberapa keuntungan bagi ilmuwan data yang menggunakan Jupyter dan Zeppelin. Pertama, Ilum dapat menyediakan lingkungan yang dikelola untuk Jupyter dan Zeppelin. Ini berarti bahwa ilmuwan data tidak perlu khawatir tentang mengelola kluster Kubernetes mereka sendiri. Kedua, Ilum menawarkan cara mudah untuk memulai ilmu data di Kubernetes. Dengan Ilum, ilmuwan data dapat dengan mudah meluncurkan instance Jupyter atau Zeppelin dan mulai menjelajahi data mereka.

Jadi, jika Anda seorang ilmuwan data yang ingin memulai ilmu data di Kubernetes, lihat Ilum. Dengan Ilum, Anda dapat memulai dengan cepat dan mudah, tanpa harus khawatir tentang mengelola kluster kubernetes Anda sendiri.

Secara keseluruhan, ilmu data di Kubernetes dapat menjadi cara yang bagus untuk meningkatkan alur kerja seseorang dan memungkinkan lebih banyak kolaborasi. Namun, penting untuk memulai dengan pemahaman dasar tentang sistem dan cara kerjanya sebelum menyelam terlalu dalam. Dengan demikian, Jupyter dan Zeppelin adalah dua alat hebat untuk membantu memulai Ilmu Data di Kubernetes.

ilum ferret

Apakah Kubernetes Benar-benar Diperlukan untuk Ilmu Data?


Kubernetes adalah sistem sumber terbuka untuk mengotomatiskan penerapan, penskalaan, dan pengelolaan aplikasi dalam kontainer. Ini mengelompokkan kontainer yang membentuk aplikasi ke dalam unit logis untuk manajemen dan penemuan yang mudah.

Data science adalah proses mengekstraksi pengetahuan atau wawasan dari data dalam berbagai bentuk, baik terstruktur maupun tidak terstruktur, yang dapat digunakan untuk membuat keputusan atau prediksi.

Jadi, apakah Kubernetes benar-benar diperlukan untuk ilmu data? Jawabannya adalah ya dan tidak. Meskipun k8 dapat membantu mengotomatiskan penyebaran dan pengelolaan aplikasi ilmu data, itu tidak sepenuhnya diperlukan. Ilmuwan data masih dapat menggunakan metode lain untuk menyebarkan dan mengelola aplikasi mereka. Namun, Kubernetes dapat membuat hidup mereka lebih mudah dengan menyediakan platform terpadu untuk mengelola beberapa aplikasi ilmu data.