DataWorks içinde bir ADB Spark düğümü kullanarak AnalyticDB Spark görevlerini geliştirin, periyodik olarak zamanlayın ve diğer işlerle entegre edin. Bu konuda, ADB Spark düğümü kullanarak görev geliştirmeye yönelik temel iş akışı açıklanmaktadır.
Genel bilgiler
ADB Spark, büyük ölçekli Apache Spark veri işleme görevlerini çalıştırmak üzere tasarlanmış AnalyticDB hizmeti içindeki bir hesaplama motorudur. Gerçek zamanlı veri analizi, karmaşık sorgular ve makine öğrenimi uygulamalarını destekler. Java, Scala ve Python desteği sayesinde geliştirmeyi basitleştirir; performansı ve maliyetleri optimize etmek için otomatik olarak ölçeklenir. İlgili Jar veya .py dosyalarını yükleyerek görevleri yapılandırabilirsiniz. ADB Spark, devasa veri kümelerini verimli bir şekilde işlemek ve gerçek zamanlı içgörüler elde etmek isteyen çeşitli sektörler için idealdir. Bu sayede işletmeler, iş büyümesini desteklemek amacıyla verilerden değerli bilgileri çıkarabilir.
Ön koşullar
AnalyticDB for MySQL ön koşulları:
DataWorks çalışma alanınızla aynı bölgede bir AnalyticDB for MySQL Basic Edition kümesi oluşturdunuz. Daha fazla bilgi için bkz. Küme oluşturma.
-
AnalyticDB for MySQL kümenizde bir iş kaynak grubu yapılandırdınız. Daha fazla bilgi için bkz. İş kaynak grubu oluşturma.
NotDataWorks kullanarak Spark uygulamaları geliştirirken bir iş kaynak grubu oluşturmanız gerekir.
Depolama için OSS kullanıyorsanız, OSS paketinin AnalyticDB for MySQL kümenizle aynı bölgede olduğundan emin olun.
DataWorks ön koşulları:
Use Data Studio (New Version) seçeneği işaretlenmiş ve bir kaynak grubu eklenmiş bir çalışma alanına sahipsiniz. Daha fazla bilgi için bkz. Çalışma alanı oluşturma.
Kaynak grubu, AnalyticDB for MySQL kümesiyle aynı VPC içinde olmalı ve AnalyticDB for MySQL kümesinin izin listesine kaynak grubunun IP adreslerini eklemeniz gerekir. Daha fazla bilgi için bkz. İzin listesi yapılandırma.
AnalyticDB for MySQL küme örneğinizi bir hesaplama motoru olarak DataWorks'e eklediniz. Hesaplama motoru türü AnalyticDB for Spark olmalıdır. DataWorks, kaynak grubunu kullanarak hesaplama motoru bağlantısını test eder. Daha fazla bilgi için bkz. Hesaplama motoru bağlama.
Bir iş akışı klasörü oluşturdunuz. Daha fazla bilgi için bkz. İş akışı klasörü.
Bir ADB Spark düğümü oluşturdunuz. Daha fazla bilgi için bkz. İş akışı için düğüm oluşturma.
Adım 1: ADB Spark düğümünü geliştirme
ADB Spark düğümü düzenleyicisinde, seçilen Language türüne göre örnek spark-examples_2.12-3.2.0.jar paketi veya spark_oss.py dosyasını kullanarak düğüm içeriğini yapılandırabilirsiniz. Düğüm içeriğinin nasıl geliştirileceği hakkında daha fazla bilgi için bkz. spark-submit komut satırı aracını kullanarak Spark uygulaması geliştirme.
Java ve Scala
JAR dosyasını hazırlama
Örnek JAR paketini OSS'e yüklemeniz gerekir. Düğüm, görevi yürütmek için bu pakete ihtiyaç duyar.
-
Örnek JAR paketini hazırlayın.
ADB Spark düğümünde kullanmak üzere spark-examples_2.12-3.2.0.jar örnek JAR paketini indirin.
-
Örnek kodu OSS'e yükleyin.
OSS konsoluna giriş yapın. Sol gezinme bölmesinde Buckets seçeneğine tıklayın.
-
Paketler sayfasında Create Bucket seçeneğine tıklayın. Create Bucket panelinde, AnalyticDB for MySQL kümenizle aynı bölgede bir paket oluşturun.
NotBu konuda örnek olarak
dw-1127adlı bir paket kullanılmaktadır. -
Harici bir depolama dizini oluşturun.
Oluşturma tamamlandıktan sonra Go to Bucket seçeneğine tıklayın. Files sayfasında Create Directory seçeneğine tıklayın ve Catalog Name değerini
db_homeolarak ayarlayın. spark-examples_2.12-3.2.0.jarörnek kod dosyasınıdb_homedizinine yükleyin. Daha fazla bilgi için bkz. Nesneleri yükleme.
ADB Spark düğümünü yapılandırma
Aşağıdaki parametre açıklamalarına göre ADB Spark düğümü içeriğini yapılandırın.
|
Dil |
Parametre |
Açıklama |
|
Java/Scala |
Main JAR Resource |
JAR paketine ait OSS yolu. Örnek: |
|
Main Class |
Derlenmiş JAR paketinizdeki ana sınıf. Örnek koddaki ana sınıfın adı |
|
|
Parameter |
Kodunuza iletilecek bağımsız değişkenler. Bu alanı Not
Bu örnekte, dinamik parametre |
|
|
Configuration Item |
Spark programının çalışma zamanı parametreleri. Daha fazla bilgi için bkz. Spark uygulama yapılandırma parametreleri. Örnek:
|
Python
Python dosyasını ve verileri hazırlama
Düğüm yapılandırmasındaki örnek kodun test verisi dosyasını okuyabilmesini sağlamak için test verisi dosyasını ve örnek kodu OSS'e yüklemek üzere aşağıdaki adımları izleyin.
-
Test verilerini hazırlayın.
data.txtadlı bir dosya oluşturun ve aşağıdaki içeriği ekleyin.Hello,Dataworks Hello,OSS -
Örnek kodu yazın.
spark_oss.pyadlı bir dosya oluşturun vespark_oss.pydosyasına aşağıdaki içeriği ekleyin.import sys from pyspark.sql import SparkSession # Initialize Spark. spark = SparkSession.builder.appName('OSS Example').getOrCreate() # Read the specified file. The file path is specified by the value of the argument passed to the job. textFile = spark.sparkContext.textFile(sys.argv[1]) # Calculate and print the number of lines in the file. print("File total lines: " + str(textFile.count())) # Print the first line of the file. print("First line is: " + textFile.first()) -
Test verilerini ve örnek kodu OSS'e yükleyin.
OSS konsoluna giriş yapın. Sol gezinme bölmesinde Buckets seçeneğine tıklayın.
-
Paketler sayfasında Create Bucket seçeneğine tıklayın. Create Bucket panelinde, AnalyticDB for MySQL kümenizle aynı bölgede bir paket oluşturun.
NotBu konuda örnek olarak
dw-1127adlı bir paket kullanılmaktadır. -
Harici bir depolama dizini oluşturun.
Oluşturma tamamlandıktan sonra Enter Bucket seçeneğine tıklayın. Files sayfasında Create Directory seçeneğine tıklayın ve Catalog Name değerini
db_homeolarak ayarlayın. data.txttest verisi dosyasını vespark_oss.pyörnek kod dosyasınıdb_homedizinine yükleyin. Daha fazla bilgi için bkz. Nesneleri yükleme.
ADB Spark düğümünü yapılandırma
Aşağıdaki parametre açıklamalarına göre ADB Spark düğümü içeriğini yapılandırın.
|
Dil |
Parametre |
Açıklama |
|
Python |
Main Package |
Örnek kod dosyasının yolu. Örnek: |
|
Parameter |
Kodunuza iletilecek bağımsız değişkenler. Bu örnek için test verisi dosyasının depolama yolunu kullanın. Örnek: |
|
|
Configuration Item |
Spark programının çalışma zamanı parametreleri. Daha fazla bilgi için bkz. Spark uygulama yapılandırma parametreleri. Örnek:
|
Adım 2: ADB Spark düğümünde hata ayıklama
-
ADB Spark düğümü için hata ayıklama özelliklerini yapılandırın.
Düğüm düzenleyicisinin sağ tarafındaki Run Configuration bölmesinde Compute Resource, ADB Computing Resource Group, Resource Group ve Compute Units parametrelerini yapılandırın.
Parametre türü
Parametre
Açıklama
Compute Resource
Compute Resource
Ekli AnalyticDB for Spark hesaplama motorunu seçin.
ADB Computing Resource Group
AnalyticDB for MySQL kümesinde oluşturduğunuz iş kaynak grubunu seçin. Daha fazla bilgi için bkz. Kaynak grubuna genel bakış.
Resource Group
Resource Group
Hesaplama motorunu eklerken bağlantı testini geçen kaynak grubunu seçin.
Compute Units
Bu düğüm varsayılan CU sayısını kullanır. Bu değeri değiştirmeniz gerekmez.
-
ADB Spark düğümünde hata ayıklayıp çalıştırın.
Düğüm görevini çalıştırmak için önce Save seçeneğine ve ardından Run seçeneğine tıklayın.
Adım 3: ADB Spark düğümünü zamanlama
-
ADB Spark düğümü için zamanlama özelliklerini yapılandırın.
Düğüm görevini periyodik olarak çalıştırmak için düğüm düzenleyicisinin sağ tarafındaki Scheduling Settings bölmesini açın. Scheduling Policy bölümünde aşağıdaki parametreleri gerektiği gibi yapılandırın. Diğer parametreler hakkında daha fazla bilgi için bkz. Düğüm için zamanlama yapılandırma.
Parametre
Açıklama
Compute Resource
Ekli AnalyticDB for Spark hesaplama motorunu seçin.
ADB Computing Resource GroupAnalyticDB for MySQL kümesinde oluşturduğunuz iş kaynak grubunu seçin. Daha fazla bilgi için bkz. Kaynak grubuna genel bakış.
Resource Group
Hesaplama motorunu eklerken bağlantı testini geçen kaynak grubunu seçin.
Compute Units
Bu düğüm varsayılan CU sayısını kullanır. Bu değeri değiştirmeniz gerekmez. -
ADB Spark düğümünü yayınlayın.
Düğüm görevini yapılandırdıktan sonra düğümü yayınlamanız gerekir. Daha fazla bilgi için bkz. Düğüm veya iş akışı yayınlama.
Sonraki adımlar
Görevi yayınladıktan sonra çalıştırma durumunu Operation Center üzerinden görüntüleyebilirsiniz. Daha fazla bilgi için bkz. Operation Center'a giriş.