Fitur Notebook AnalyticDB for MySQL adalah platform interaktif untuk analitik data dan pengembangan yang menawarkan fitur seperti pengeditan pekerjaan, analisis data, dan visualisasi data. Topik ini menjelaskan cara menggunakan fitur Notebook di Data Management (DMS) untuk mengembangkan pekerjaan Spark SQL.
Prasyarat
-
Sebuah kluster AnalyticDB for MySQL Edisi Perusahaan, Edisi Dasar, atau Edisi Data Lakehouse telah dibuat.
Kelompok sumber daya pekerjaan telah dibuat untuk kluster AnalyticDB for MySQL.
Akun database telah dibuat untuk kluster AnalyticDB for MySQL.
Jika Anda menggunakan akun Alibaba Cloud, Anda hanya perlu membuat akun istimewa.
Jika Anda menggunakan pengguna Resource Access Management (RAM), Anda harus membuat akun istimewa dan akun standar serta mengaitkan akun standar tersebut dengan pengguna RAM.
-
AnalyticDB for MySQL telah diberi otorisasi untuk mengasumsikan role AliyunADBSparkProcessingDataRole guna mengakses sumber daya cloud lainnya.
Jalur penyimpanan log untuk aplikasi Spark telah dikonfigurasi untuk kluster AnalyticDB for MySQL.
CatatanLogin ke Konsol AnalyticDB for MySQL. Temukan kluster yang ingin Anda kelola lalu klik ID kluster tersebut. Di panel navigasi kiri, pilih . Klik Log Settings. Di kotak dialog yang muncul, pilih jalur default atau tentukan jalur penyimpanan kustom. Anda tidak boleh mengatur jalur penyimpanan kustom ke direktori root OSS. Pastikan jalur penyimpanan kustom tersebut berisi setidaknya satu lapis folder.
Bucket Object Storage Service (OSS) telah dibuat di wilayah yang sama dengan kluster AnalyticDB for MySQL.
Batasan
Fitur Notebook hanya tersedia di wilayah-wilayah berikut: .
Prosedur
-
Buat proyek dan masuk ke ruang kerja.
Login ke DMS 5.0.
-
Arahkan penunjuk ke ikon
di pojok kiri atas lalu pilih .CatatanJika Anda menggunakan konsol DMS dalam mode normal, pilih di bilah navigasi atas.
-
Klik Create Workspace. Di kotak dialog yang muncul, masukkan Workspace Name, pilih Region, lalu klik OK.
-
Pada kolom Actions ruang kerja yang dituju, klik Go to Workspace.
-
(Opsional) Tambahkan anggota proyek. Jika beberapa pengguna bekerja dalam ruang kerja yang sama, Anda harus menyelesaikan langkah ini untuk memberikan peran ruang kerja yang berbeda kepada mereka.
-
Konfigurasikan storage space kode.
-
Pada tab Project Settings
, klik
Storage Management
. -
Konfigurasikan jalur OSS untuk Code Storage.
-
-
Tambahkan resource.
-
Pada tab Project Settings
, klik Resource Settings. -
Klik Add Resource lalu konfigurasikan parameter-parameter untuk resource tersebut.
Parameter
Wajib
Deskripsi
Resource Name
Ya
Nama resource tersebut. Anda dapat menentukan nama kustom.
Resource Introduction
Ya
Deskripsi penggunaan yang dimaksudkan untuk resource tersebut. Nilai ini dapat dikustomisasi.
Image
Ya
Hanya image Spark3.5+Python3.9 yang didukung.
AnalyticDB Instance
Ya
ID kluster AnalyticDB for MySQL.
CatatanJika kluster yang ingin Anda kelola tidak ditampilkan, periksa apakah kluster tersebut telah ditambahkan ke DMS.
AnalyticDB Resource Group
Ya
Pilih kelompok sumber daya pekerjaan tujuan.
Executor Specifications
Ya
Spesifikasi sumber daya untuk executor Spark. Contoh ini menggunakan nilai default, medium.
Untuk informasi lebih lanjut tentang spesifikasi yang sesuai dengan model berbeda, lihat kolom Model di parameter konfigurasi aplikasi Spark.
Max Executors
Min Executors
Ya
Jumlah executor Spark.
Setelah Anda memilih image Spark3.5+Python3.9, Min Executors diatur ke 2 dan Max Executors diatur ke 8 secara default.
Notebook Spec
Ya
Pilih spesifikasi Notebook. Contoh ini menggunakan General_Tiny_v1 (1-core dan memori 4 GB).
VPC ID
Ya
Pilih Virtual Private Cloud (VPC) tempat kluster AnalyticDB for MySQL berada untuk memastikan Notebook dapat berkomunikasi dengan kluster tersebut.
PentingJika nanti Anda mengganti kluster AnalyticDB for MySQL ke Virtual Private Cloud (VPC) dan vSwitch baru, Anda harus memperbarui VPC ID dan vSwitch ID dari resource tersebut. Jika tidak, pengiriman pekerjaan akan gagal.
Zone ID
Ya
Pilih zona tempat kluster AnalyticDB for MySQL berada.
vSwitch ID
Ya
Pilih vSwitch tempat kluster AnalyticDB for MySQL berada.
Security group ID
Ya
Pilih security group yang tersedia untuk memastikan Notebook dapat berkomunikasi dengan kluster AnalyticDB for MySQL.
Release resource
Ya
Resource tersebut akan dilepas secara otomatis setelah periode idle tertentu.
Dependent Jars
Tidak
Jalur penyimpanan OSS untuk paket JAR. Parameter ini hanya diperlukan untuk pekerjaan Python yang menggunakan paket JAR.
SparkConf
Tidak
Item konfigurasi sebagian besar sama dengan Spark open source. Parameter dalam format
key: value. Untuk informasi lebih lanjut tentang parameter konfigurasi yang berbeda dari Spark open source dan parameter yang unik untuk AnalyticDB for MySQL, lihat parameter konfigurasi aplikasi Spark. -
Klik Save.
-
Pada kolom Actions resource tersebut, klik Enable.
-
-
Inisialisasi data.
-
Di pojok kiri atas konsol, klik ikon
lalu pilih . -
Klik +New. Di kotak dialog Add Instance, konfigurasikan parameter berikut:
Parameter
Deskripsi
Data Source
Pada tab Alibaba Cloud, pilih OSS.
Basic Information
Files and logs
Pilih OSS.
Instance Region
Pilih wilayah tempat kluster AnalyticDB for MySQL berada.
Import Method
Pilih Connection String.
Connection String
Masukkan oss-cn-hangzhou.aliyuncs.com.
Bucket
Pilih nama bucket.
Access Mode
Mode akses. Contoh ini menggunakan Security Hosting - Manual.
AccessKey ID
ID AccessKey dari akun Alibaba Cloud atau pengguna RAM yang memiliki izin untuk mengakses OSS.
Untuk informasi lebih lanjut tentang cara memperoleh ID AccessKey dan Secret AccessKey, lihat Akun dan izin.
AccessKey Secret
Secret AccessKey dari akun Alibaba Cloud atau pengguna RAM yang memiliki izin untuk mengakses OSS.
Untuk informasi lebih lanjut tentang cara memperoleh ID AccessKey dan Secret AccessKey, lihat Akun dan izin.
Advanced Information
Parameter opsional. Untuk informasi lebih lanjut, lihat Advanced Information.
-
Setelah mengonfigurasi parameter, klik Test Connection di pojok kiri bawah.
CatatanJika uji konektivitas gagal, periksa informasi instans yang Anda masukkan berdasarkan pesan error.
-
Setelah muncul pesan Successful connection, klik Submit.
-
Masuk ke ruang kerja lalu klik tab
. -
Pada tab Data Lake Data, klik Add OSS lalu pilih bucket yang telah Anda tambahkan pada langkah b.
-
-
Buat Notebook.
Pada tab Files
, klik
lalu pilih Notebook. -
Kembangkan pekerjaan Spark SQL pada halaman Notebook.
CatatanUntuk informasi lebih lanjut tentang tombol-tombol di halaman Notebook, lihat Antarmuka Notebook.
-
Jalankan perintah berikut untuk mengunduh dependensi Python:
pip install delta -
Ubah tipe sel menjadi SQL lalu jalankan pernyataan berikut untuk membuat database.
CatatanDatabase db_delta yang dibuat pada langkah ini dan tabel eksternal
sample_datayang dibuat pada langkah berikutnya akan ditampilkan secara otomatis di AnalyticDB for MySQL. Anda kemudian dapat menganalisis tabelsample_datadi Konsol AnalyticDB for MySQL.CREATE DATABASE db_delta LOCATION 'oss://testBucketName/db_delta/'; -- Tentukan jalur penyimpanan untuk data di database db_delta. -
Ubah tipe sel menjadi Code, jalankan kode berikut untuk membuat tabel eksternal
sample_data, lalu masukkan data ke dalam tabel tersebut. Tindakan ini menyimpan data untuk tabel eksternalsample_datadi jalur OSS yang ditentukan pada langkah sebelumnya.# -*- coding: utf-8 -*- import pyspark from delta import * from pyspark.sql.types import * from pyspark.sql.functions import * print("Starting Delta table creation") data = [ ("Robert", "Baratheon", "Baratheon", "Storms End", 48), ("Eddard", "Stark", "Stark", "Winterfell", 46), ("Jamie", "Lannister", "Lannister", "Casterly Rock", 29), ("Robert", "Baratheon", "Baratheon", "Storms End", 48), ("Eddard", "Stark", "Stark", "Winterfell", 46), ("Jamie", "Lannister", "Lannister", "Casterly Rock", 29), ("Robert", "Baratheon", "Baratheon", "Storms End", 48), ("Eddard", "Stark", "Stark", "Winterfell", 46), ("Jamie", "Lannister", "Lannister", "Casterly Rock", 29) ] schema = StructType([ StructField("firstname", StringType(), True), StructField("lastname", StringType(), True), StructField("house", StringType(), True), StructField("location", StringType(), True), StructField("age", IntegerType(), True) ]) sample_dataframe = spark.createDataFrame(data=data, schema=schema) sample_dataframe.write.format('delta').mode("overwrite").option('mergeSchema','true').saveAsTable("db_delta.sample_data") -
Ubah tipe sel menjadi SQL lalu jalankan pernyataan berikut untuk mengkueri data di tabel
sample_data.SELECT * FROM db_delta.sample_data;
-
-
Untuk menganalisis tabel
sample_datadengan Spark SQL di Konsol AnalyticDB for MySQL, ikuti langkah-langkah berikut.Login ke Konsol AnalyticDB for MySQL. Di pojok kiri atas konsol, pilih wilayah. Di panel navigasi kiri, klik Clusters. Temukan kluster yang ingin Anda kelola lalu klik ID kluster tersebut.
-
Di panel navigasi kiri, pilih . Pilih engine Spark dan kelompok sumber daya Interaktif.
-
Kueri tabel
sample_data.SELECT * FROM db_delta.sample_data LIMIT 1000;
Dokumentasi terkait
Notebook (legacy): Pelajari lebih lanjut tentang fitur Notebook.