Konsep utama Managed Service untuk Apache Spark

Dokumen ini menjelaskan konsep utama, elemen penyusun dasar, fitur inti, dan manfaat Managed Service for Apache Spark. Memahami dasar-dasar ini akan membantu Anda menggunakan Managed Service untuk Apache Spark secara efektif untuk tugas pemrosesan data.

Model serverless

Managed Service untuk Apache Spark serverless adalah model Managed Service untuk Apache Spark modern dengan eksekusi otomatis. Layanan ini memungkinkan Anda menjalankan tugas tanpa menyediakan, mengelola, atau menskalakan infrastruktur yang mendasarinya: Managed Service untuk Apache Spark menangani detailnya untuk Anda.

  • Batch: Batch (juga disebut workload batch) adalah padanan serverless dari tugas Managed Service for Apache Spark. Anda mengirimkan kode, seperti tugas Spark, ke layanan. Managed Service untuk Apache Spark menyediakan resource yang diperlukan sesuai permintaan, menjalankan tugas, lalu menghentikannya. Anda tidak membuat atau mengelola resource cluster atau tugas; layanan ini akan melakukan pekerjaan untuk Anda.
  • Sesi interaktif: Sesi interaktif menyediakan lingkungan live dan on-demand untuk analisis data eksploratif, biasanya dalam notebook Jupyter. Sesi interaktif memberikan kemudahan ruang kerja serverless sementara yang dapat Anda gunakan untuk menjalankan kueri dan mengembangkan kode tanpa harus menyediakan dan mengelola resource cluster dan notebook.
  • Template sesi: Template sesi adalah konfigurasi yang dapat digunakan kembali yang dapat Anda gunakan untuk menentukan sesi interaktif. Template berisi setelan sesi, seperti properti Spark dan dependensi library. Anda menggunakan template untuk membuat lingkungan sesi interaktif untuk pengembangan, biasanya dalam notebook Jupyter.

Model berbasis cluster

Managed Service untuk Apache Spark di cluster adalah cara standar yang berfokus pada infrastruktur untuk menggunakan Managed Service untuk Apache Spark. Hal ini memberi Anda kontrol penuh atas sekumpulan virtual machine khusus untuk tugas pemrosesan data Anda.

  • Cluster: Cluster adalah mesin pemrosesan data pribadi Anda, yang terdiri dari Google Cloud virtual machine. Anda membuat cluster untuk menjalankan framework open source seperti Apache Spark dan Apache Hadoop. Anda memiliki kontrol penuh atas ukuran cluster, jenis mesin, dan konfigurasi.
  • Tugas: Tugas adalah tugas tertentu, seperti skrip PySpark atau kueri Hadoop. Daripada menjalankan tugas secara langsung di cluster, Anda mengirimkan tugas ke Managed Service untuk Apache Spark, yang mengelola eksekusi tugas untuk Anda. Anda dapat mengirimkan beberapa tugas ke cluster.
  • Template Alur Kerja: Template alur kerja adalah definisi yang dapat digunakan kembali yang mengorkestrasi serangkaian tugas (alur kerja). Dapat menentukan dependensi antar-tugas, misalnya untuk menjalankan tugas machine learning hanya setelah tugas pembersihan data berhasil diselesaikan. Alur kerja yang dibuat dari template dapat dijalankan di cluster yang ada atau di cluster sementara (efemeral) yang dibuat untuk menjalankan alur kerja, lalu dihapus setelah alur kerja selesai. Anda dapat menggunakan template untuk menjalankan alur kerja yang ditentukan kapan pun diperlukan.
  • Kebijakan penskalaan otomatis: Kebijakan penskalaan otomatis berisi aturan yang Anda tentukan untuk menambahkan atau menghapus mesin pekerja dari cluster berdasarkan beban kerja cluster guna mengoptimalkan biaya dan performa cluster secara dinamis.

Penyesuaian lingkungan

Managed Service untuk Apache Spark di cluster menawarkan fitur dan komponen cluster yang dapat Anda gunakan untuk menyesuaikan lingkungan aplikasi.

Lingkungan notebook dan pengembangan

Notebook dan IDE serverless Managed Service untuk Apache Spark ditautkan ke lingkungan pengembangan terintegrasi tempat Anda dapat menulis dan mengeksekusi kode.

  • BigQuery Studio & Workbench: Ini adalah lingkungan analisis dan notebook terpadu. Dengan alat ini, Anda dapat menulis kode (misalnya di notebook Jupyter) dan menggunakan cluster Managed Service untuk Apache Spark atau sesi serverless sebagai mesin backend yang canggih untuk menjalankan kode Anda pada set data besar.
  • Plugin JupyterLab Managed Service untuk Apache Spark: Plugin resmi JupyterLabextension ini berfungsi sebagai panel kontrol untuk Managed Service for Apache Spark serverless di dalam lingkungan notebook Anda. Fitur ini menyederhanakan alur kerja Anda dengan memungkinkan Anda menjelajahi, membuat, dan mengelola cluster serta mengirimkan tugas tanpa harus keluar dari antarmuka Jupyter.
  • Google Cloud Data Agent Kit untuk VS Code: Ekstensi VS Code resmi ini memungkinkan ilmuwan data, engineer, dan developer mengelola seluruh siklus proses workload data mereka dalam IDE. Data Agent Kit menyediakan dukungan Data Cloud untuk Managed Service for Apache Spark, sehingga Anda dapat mengembangkan kode, membuat sesi interaktif, dan membangun pipeline langsung dari VS Code.
  • Managed Service for Apache Spark Connect Python Connector: Library Python ini menyederhanakan proses penggunaan Spark Connect dengan Managed Service untuk Apache Spark. Hal ini menangani autentikasi dan konfigurasi endpoint, sehingga mempermudah koneksi lingkungan Python lokal Anda, seperti notebook atau IDE, ke cluster Managed Service untuk Apache Spark jarak jauh untuk pengembangan interaktif.

Model penampung

Managed Service untuk Apache Spark di Google Kubernetes Engine men-deploy cluster virtual Managed Service untuk Apache Spark di cluster GKE. Tidak seperti cluster Managed Service untuk Apache Spark, cluster virtual Managed Service untuk Apache Spark tidak menyediakan VM master dan pekerja yang terpisah. Sebagai gantinya, mereka menyediakan node pool dalam cluster GKE. Managed Service untuk Apache Spark di GKE dijalankan sebagai pod di node pool ini. Node pool dan penjadwalan pod di node pool dikelola oleh Managed Service untuk Apache Spark di GKE.