Anda dapat menjelajahi DataFrame PySpark secara interaktif di notebook Jupyter, termasuk
Google Cloud Data Agent Kit (DAK), menggunakan
paket Python google-colabsqlviz dengan
Managed Service untuk Apache Spark. Dibangun di anywidget dan didukung oleh
mesin diagram Data Studio, google-colabsqlviz merender
visualisasi interaktif di dalam output sel notebook Anda tanpa
kode plotting.
Saat meneruskan DataFrame ke google-colabsqlviz, Anda dapat beralih antara tampilan diagram
dan tabel data, mengonfigurasi dimensi dan metrik, menerapkan agregasi, mengurutkan
atau memfilter data secara interaktif, dan mengekspor data diagram yang difilter atau digabungkan ke
DataFrame baru:
- Dukungan DataFrame multi-mesin: Visualisasikan objek
pyspark.sql.DataFrame(termasuk DataFrame Spark Connect),bigframes.pandas.DataFrame, danpandas.DataFramemenggunakan satu API. - Eksekusi dalam kernel dan terdistribusi: Meskipun widget memuat UI diagram Data Studio dari CDN Google, data pokok Anda tidak dikirim ke Data Studio. Semua agregasi dan filter dijalankan di kernel Python atau sesi Managed Service untuk Apache Spark, dan diagram dirender secara lokal di klien notebook Anda.
- Tidak ada konflik lingkungan: Mesin terdistribusi opsional seperti
pysparkdanbigframesterdeteksi saat runtime dan tidak diupgrade atau ditimpa saat Anda menginstalgoogle-colabsqlviz.
Sebelum memulai
Rendering DataFrame PySpark melalui Spark Connect dengan
google-colabsqlviz didukung dalam sesi interaktif Managed Service untuk Apache Spark
dengan versi runtime serverless 3.0 atau yang lebih baru.
Ikuti petunjuk berikut untuk membuat notebook di Visual Studio Code (VS Code) dengan Data Agent Kit, atau gunakan lingkungan notebook Jupyter lain yang didukung seperti JupyterLab:
- Siapkan dan konfigurasi Data Agent Kit (DAK):
- Buat notebook:
- Di panel aktivitas VS Code, klik Data Agent Kit, perluas Apache Spark, lalu pilih + New Spark Notebook.
- Untuk Select kernel type, klik Local Kernel.
- Untuk Memilih template Runtime Serverless, klik nama template runtime yang tercantum.
- Di toolbar notebook, klik Select Kernel, klik Python Environments..., lalu pilih lingkungan Python lokal Anda.
Untuk menginstal paket Python Spark Connect dan
google-colabsqlvizyang diperlukan di lingkungan lokal Anda, jalankan perintah berikut di sel notebook atau terminal lokal:Sel notebook
%pip install -U 'google-cloud-spark-connect[interactive,client]'Terminal lokal
pip install -U 'google-cloud-spark-connect[interactive,client]'
Memuat dan memvisualisasikan set data
Setelah Anda memulai ManagedSparkSession dan memuat set data ke dalam
pyspark.sql.DataFrame, teruskan DataFrame ke fungsi explore_dataframe
untuk merender visualisasi interaktif. Contoh berikut terhubung ke
sesi serverless dan memuat set data Palmer Penguins
(`lakehouse-public-data`.ml_datasets.penguins) dari
set data publik Lakehouse:
# Importing managed_spark_connect automatically imports explore_dataframe
from google.cloud.managed_spark_connect import ManagedSparkSession
spark = (
ManagedSparkSession.builder.projectId("PROJECT_ID")
.location("REGION")
.getOrCreate()
)
df = spark.read.table("`lakehouse-public-data`.ml_datasets.penguins")
explore_dataframe(df)
Ganti kode berikut:
PROJECT_ID: Project ID Google Cloud Anda.REGION: region Managed Service untuk Apache Spark untuk sesi Anda (misalnya,us-central1).
Saat Anda menjalankan sel, google-colabsqlviz akan memeriksa skema DataFrame
dan merender widget visualisasi interaktif di area output sel dengan
visualisasi default—untuk set data penguins, widget ini merender diagram
sebar rata-rata flipper_length_mm dan body_mass_g yang dikelompokkan menurut species.
Di toolbar widget, klik Data untuk memeriksa baris DataFrame pokok dalam tabel yang diberi nomor halaman. Pilih Mode terpisah untuk melihat diagram dan tabel data pokok secara bersamaan. Klik Chart untuk kembali ke tampilan diagram.
Menjelajahi dan menyesuaikan diagram
Anda dapat menyesuaikan jenis diagram, dimensi, metrik, agregasi, pengurutan, dan filter di antarmuka widget, serta mengekspor data yang dihasilkan kembali ke DataFrame di notebook Anda.
- Pilih jenis diagram: Di panel setelan konfigurasi, klik menu jenis diagram dan pilih jenis diagram, seperti Diagram batang vertikal. Untuk mengetahui daftar lengkap jenis diagram yang didukung, lihat Jenis diagram di Data Studio.
- Konfigurasikan dimensi dan metrik: Di tab Setup, konfigurasikan kolom untuk DataFrame
penguins:- Tetap tetapkan Dimension ke
speciesuntuk mengelompokkan data berdasarkan spesies penguin. - Di bagian Metric - Y axis, tetapkan metrik ke
body_mass_gdengan agregasi ditetapkan ke AVG (Average) untuk menghitung massa tubuh rata-rata dalam gram untuk setiap spesies. - Klik Add dimension dan pilih
islandatausexuntuk mengelompokkan diagram di beberapa dimensi, atau ubah agregasi metrik dari AVG menjadi MAX atau SUM.
- Tetap tetapkan Dimension ke
- Mengurutkan dan memfilter visualisasi:
- Di tab Setup, di bagian Sort, pilih
body_mass_gdengan agregasi AVG, lalu pilih Descending untuk mengurutkan spesies berdasarkan massa tubuh rata-rata tertinggi. - Klik Add filter di toolbar widget untuk memfilter data
berdasarkan nilai kolom (misalnya,
body_mass_glebih besar dari atau sama dengan4000), atau klik Create output dataframe di bagian bawah widget untuk mengekspor data diagram gabungan atau data yang difilter ke sel DataFrame baru. Saat Anda memperbarui properti atau filter diagram,google-colabsqlvizakan menghitung ulang kueri terhadap DataFrame Anda dan memperbarui visualisasi:
- Di tab Setup, di bagian Sort, pilih
Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi properti diagram, agregasi, dan kontrol interaktif di antarmuka diagram tersemat, lihat dokumentasi berikut:
- Jenis diagram di Data Studio
- Menjelajahi data di Data Studio
- Menggunakan sel visualisasi di Colab Enterprise
Mengonfigurasi eksekusi untuk DataFrame besar
Saat Anda meneruskan pyspark.sql.DataFrame ke explore_dataframe(df),
google-colabsqlviz akan memilih di antara dua strategi eksekusi
berdasarkan ukuran DataFrame:
- Materialisasi dalam memori (default untuk DataFrame yang lebih kecil): Jika DataFrame diperkirakan berukuran
256 MiBatau kurang dan berisi maksimal 5.000.000 baris,google-colabsqlvizakan mengumpulkan DataFrame ke dalam memori kernel satu kali. Perubahan jenis diagram, agregasi, pengurutan, dan pemfilteran berikutnya berjalan di memori dengan latensi minimal dan tidak memicu tugas Spark baru. - Pushdown Spark terdistribusi (default untuk DataFrame yang lebih besar): Jika DataFrame melebihi anggaran byte atau baris,
google-colabsqlvizakan membuat DataFrame tetap lazy dan menerjemahkan setiap kueri diagram, filter, pengurutan, dan permintaan penomoran halaman menjadi operasi PySpark yang dijalankan di sesi serverless Managed Service untuk Apache Spark Anda. Pendekatan ini dapat menambah latensi tambahan, tetapi memungkinkan Anda memvisualisasikan DataFrame yang jauh lebih besar.
Anda dapat menyesuaikan atau menonaktifkan nilai minimum materialisasi dalam memori dengan menetapkan variabel lingkungan COLABSQLVIZ_PYSPARK_EAGER_MAX_BYTES sebelum memanggil explore_dataframe(df):
import os
# Importing managed_spark_connect automatically imports explore_dataframe
from google.cloud.managed_spark_connect import ManagedSparkSession
# Set to "0" to disable upfront collection and push all chart queries to Spark,
# or set a custom byte limit, such as str(64 * 1024 * 1024) for 64 MiB.
os.environ["COLABSQLVIZ_PYSPARK_EAGER_MAX_BYTES"] = "0"
explore_dataframe(df)
Langkah berikutnya
- Pelajari Jenis diagram di Data Studio.
- Pelajari cara mentransformasi data dengan Data Agent Kit.
- Pelajari cara menggunakan klien Spark Connect serverless.
- Pelajari cara menggunakan JupyterLab dan VS Code untuk sesi serverless.