Notebook AnalyticDB for MySQL özelliği; iş düzenleme, veri analizi ve görselleştirme gibi işlevler sunan etkileşimli bir veri analizi ve geliştirme platformudur. Bu konu, Data Management (DMS) içindeki Notebook özelliğini kullanarak Spark SQL işlerinin nasıl geliştirileceğini açıklar.
Ön koşullar
Bir AnalyticDB for MySQL Enterprise Edition, Basic Edition veya Data Lakehouse Edition kümesi oluşturulmuş olmalıdır.
İş kaynak grubu oluşturulmuştur AnalyticDB for MySQL kümesi için.
-
AnalyticDB for MySQL kümesi için bir veritabanı hesabı oluşturulmuş olmalıdır.
Alibaba Cloud hesabı kullanıyorsanız yalnızca yetkili hesap oluşturmanız yeterlidir.
Resource Access Management (RAM) kullanıcısı kullanıyorsanız yetkili hesap ve standart hesap oluşturmanız ve standart hesabı RAM kullanıcısıyla ilişkilendirmeniz gerekir.
AnalyticDB for MySQL diğer cloud kaynaklarına erişmek üzere AliyunADBSparkProcessingDataRole rolünü üstlenmek için yetkilendirilmiştir.
-
AnalyticDB for MySQL kümesi için Spark uygulamalarının günlük depolama yolu yapılandırılmıştır.
NotAnalyticDB for MySQL konsoluna giriş yapın. Yönetmek istediğiniz kümeyi bulun ve küme kimliğine tıklayın. Sol gezinme bölmesinde seçeneğine gidin. Log Settings seçeneğine tıklayın. Görüntülenen iletişim kutusunda varsayılan yolu seçin veya özel bir depolama yolu belirtin. Özel depolama yolunu OSS kök dizini olarak ayarlayamazsınız. Özel depolama yolunun en az bir klasör katmanı içerdiğinden emin olun.
AnalyticDB for MySQL kümesiyle aynı bölgede bir Object Storage Service (OSS) paketi oluşturulmuştur.
Sınırlamalar
Notebook özelliği yalnızca aşağıdaki bölgelerde kullanılabilir: .
Yordam
-
Proje oluşturun ve çalışma alanına gidin.
DMS 5.0 adresinde oturum açın.
-
Sol üst köşedeki
simgesinin üzerine gelin ve seçeneğine gidin.NotNormal modda DMS konsolunu kullanıyorsanız üst gezinme çubuğundan seçeneğine gidin.
Create Workspace seçeneğine tıklayın. Görüntülenen iletişim kutusunda bir Workspace Name girin, bir Region seçin ve OK seçeneğine tıklayın.
Hedef çalışma alanının Actions sütununda Go to Workspace seçeneğine tıklayın.
(İsteğe bağlı) Proje üyelerini ekleyin. Çalışma alanında birden çok kullanıcı çalışıyorsa farklı çalışma alanı rolleri atamak için bu adımı tamamlamanız gerekir.
-
Kod depolama alanını yapılandırın.
Project Settings
sekmesinde Storage Management seçeneğine tıklayın.Code Storage için OSS yolunu yapılandırın.
-
Kaynak ekleyin.
Project Settings
sekmesinde Resource Settings seçeneğine tıklayın.-
Add Resource seçeneğine tıklayın ve kaynak parametrelerini yapılandırın.
Parametre
Zorunlu
Açıklama
Resource Name
Evet
Kaynağın adı. Özel bir ad belirtebilirsiniz.
Resource Introduction
Evet
Kaynağın kullanım amacına ilişkin açıklama. Bu değer özelleştirilebilir.
Image
Evet
Yalnızca Spark3,5+Python3,9 görüntüsü desteklenir.
AnalyticDB Instance
Evet
AnalyticDB for MySQL kümesinin kimliği.
NotYönetmek istediğiniz küme görüntülenmiyorsa kümenin DMS'ye eklenip eklenmediğini kontrol edin.
AnalyticDB Resource Group
Evet
Hedef iş kaynak grubunu seçin.
Executor Specifications
Evet
Spark yürütücülerinin kaynak teknik özellikleri. Bu örnekte varsayılan değer olan medium kullanılır.
Farklı modellerle eşleşen teknik özellikler hakkında daha fazla bilgi için bkz. Spark uygulama yapılandırma parametreleri konusundaki Model sütunu.
Max Executors
Min Executors
Evet
Spark yürütücü sayısı.
Spark3,5+Python3,9 görüntüsünü seçtikten sonra Min Executors değeri varsayılan olarak 2, Max Executors değeri ise varsayılan olarak 8 olarak ayarlanır.
Notebook Spec
Evet
Bir Notebook teknik özelliği seçin. Bu örnekte General_Tiny_v1 (1 çekirdek ve 4 GB bellek) kullanılır.
VPC ID
Evet
Notebook'un kümeyle iletişim kurabilmesini sağlamak için AnalyticDB for MySQL kümesinin bulunduğu Virtual Private Cloud (VPC) seçilir.
ÖnemliDaha sonra AnalyticDB for MySQL kümesini yeni bir Virtual Private Cloud (VPC) ve vSwitch'e geçirdiğinizde kaynağın VPC ID ve vSwitch ID değerlerini güncellemelisiniz. Aksi takdirde iş gönderimleri başarısız olur.
Zone ID
Evet
AnalyticDB for MySQL kümesinin bulunduğu alan seçilir.
vSwitch ID
Evet
AnalyticDB for MySQL kümesinin ait olduğu vSwitch seçilir.
Security group ID
Evet
Notebook'un AnalyticDB for MySQL kümesiyle iletişim kurabilmesini sağlamak için kullanılabilir bir güvenlik grubu seçilir.
Release resource
Evet
Kaynak, belirtilen bir boşta kalma süresinden sonra otomatik olarak serbest bırakılır.
Dependent Jars
Hayır
JAR paketinin OSS depolama yolu. Bu parametre yalnızca JAR paketi kullanan Python işleri için gereklidir.
SparkConf
Hayır
Yapılandırma öğeleri çoğunlukla açık kaynaklı Spark'takilerle aynıdır. Parametreler
key: valuebiçimindedir. Açık kaynaklı Spark'tan farklı olan ve AnalyticDB for MySQL için özgün yapılandırma parametreleri hakkında daha fazla bilgi için bkz. Spark uygulama yapılandırma parametreleri. Save seçeneğine tıklayın.
Kaynağın Actions sütununda Enable seçeneğine tıklayın.
-
Verileri başlatın.
Konsolun sol üst köşesindeki
simgesine tıklayın ve seçeneğine gidin.-
+New seçeneğine tıklayın. Add Instance iletişim kutusunda aşağıdaki parametreleri yapılandırın:
Parametre
Açıklama
Data Source
Alibaba Cloud sekmesinde OSS seçeneğini seçin.
Basic Information
Files and logs
OSS seçeneğini seçin.
Instance Region
AnalyticDB for MySQL kümesinin bulunduğu bölgeyi seçin.
Import Method
Connection String seçeneğini seçin.
Connection String
oss-cn-hangzhou.aliyuncs.com değerini girin.
Bucket
Paket adını seçin.
Access Mode
Erişim modu. Bu örnekte Security Hosting - Manual kullanılır.
AccessKey ID
OSS'e erişim iznine sahip Alibaba Cloud hesabının veya RAM kullanıcısının AccessKey ID'si.
AccessKey ID ve AccessKey Secret alma hakkında daha fazla bilgi için bkz. Hesaplar ve izinler.
AccessKey Secret
OSS'e erişim iznine sahip Alibaba Cloud hesabının veya RAM kullanıcısının AccessKey Secret değeri.
AccessKey ID ve AccessKey Secret alma hakkında daha fazla bilgi için bkz. Hesaplar ve izinler.
Advanced Information
İsteğe bağlı parametreler. Daha fazla bilgi için bkz. Gelişmiş Bilgiler.
-
Parametreleri yapılandırdıktan sonra sol alt köşede Test Connection seçeneğine tıklayın.
NotBağlantı testi başarısız olursa girdiğiniz örnek bilgilerini hata mesajına göre kontrol edin.
Successful connection iletisi göründükten sonra Submit seçeneğine tıklayın.
Çalışma alanına gidin ve
sekmesine tıklayın.Data Lake Data sekmesinde Add OSS seçeneğine tıklayın ve b alt adımında eklediğiniz paketi seçin.
-
Notebook oluşturun.
Files
sekmesinde
seçeneğine tıklayın ve Notebook seçeneğini belirleyin. -
Notebook sayfasında Spark SQL işi geliştirin.
NotNotebook sayfasındaki düğmeler hakkında daha fazla bilgi için bkz. Notebook arayüzü.
-
Python bağımlılıklarını indirmek için aşağıdaki komutu çalıştırın:
pip install delta -
Hücre türünü SQL olarak değiştirin ve veritabanı oluşturmak için aşağıdaki deyimi çalıştırın.
NotBu adımda oluşturulan db_delta veritabanı ve sonraki adımda oluşturulan
sample_dataharici tablosu AnalyticDB for MySQL içinde otomatik olarak görüntülenir. Daha sonra AnalyticDB for MySQL konsolundasample_datatablosunu analiz edebilirsiniz.CREATE DATABASE db_delta LOCATION 'oss://testBucketName/db_delta/'; -- Specify the storage path for data in the db_delta database. -
Hücre türünü Code olarak değiştirin,
sample_dataharici tablosunu oluşturmak için aşağıdaki kodu çalıştırın ve tabloya veri ekleyin. Bu işlem,sample_dataharici tablosunun verilerini önceki adımda belirtilen OSS yolunda depolar.# -*- 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") -
Hücre türünü SQL olarak değiştirin ve
sample_datatablosundaki verileri sorgulamak için aşağıdaki deyimi çalıştırın.SELECT * FROM db_delta.sample_data;
-
-
AnalyticDB for MySQL konsolunda Spark SQL ile
sample_datatablosunu analiz etmek için şu adımları izleyin.AnalyticDB for MySQL konsoluna giriş yapın. Konsolun sol üst köşesinde bir bölge seçin. Sol gezinme bölmesinde Clusters seçeneğine tıklayın. Yönetmek istediğiniz kümeyi bulun ve küme kimliğine tıklayın.
Sol gezinme bölmesinde seçeneğine gidin. Spark motorunu ve bir Interactive kaynak grubunu seçin.
-
sample_datatablosunu sorgulayın.SELECT * FROM db_delta.sample_data LIMIT 1000;
İlgili belgeler
Notebook (legacy): Notebook özelliği hakkında daha fazla bilgi edinin.