Anda dapat menggunakan node Lindorm Spark di DataWorks untuk mengembangkan dan menjadwalkan pekerjaan Lindorm Spark secara berkala. Topik ini menjelaskan alur kerja utama untuk mengembangkan pekerjaan dengan node Lindorm Spark.
Informasi latar belakang
Lindorm adalah layanan komputasi terdistribusi cloud-native yang mendukung model komputasi open-source, kompatibel dengan API Spark, serta terintegrasi secara mendalam dengan fitur mesin penyimpanan Lindorm. Dengan memanfaatkan fitur penyimpanan data dan kemampuan pengindeksan di lapisan bawah, Lindorm memproses pekerjaan komputasi terdistribusi secara efisien. Layanan ini sangat ideal untuk kasus penggunaan seperti pemrosesan data skala besar, analisis interaktif, pembelajaran mesin, dan komputasi graf.
Prasyarat
(Opsional) Jika Anda menggunakan Pengguna Resource Access Management (RAM), pastikan pengguna RAM tersebut telah ditambahkan ke ruang kerja dan diberikan peran Developer atau Workspace Administrator. Peran Workspace Administrator memiliki izin yang luas, sehingga berikan dengan hati-hati. Untuk informasi selengkapnya tentang cara menambahkan anggota, lihat Add members.
Catatan Jika Anda menggunakan akun utama, Anda dapat melewati langkah ini.
Anda telah membuat instans Lindorm dan mengikatnya ke ruang kerja DataWorks Anda. Untuk informasi selengkapnya, lihat Bind a Lindorm compute engine.
Kembangkan node Lindorm Spark
Anda dapat mengonfigurasi node untuk mereferensikan file JAR untuk pekerjaan Java/Scala atau file .py untuk pekerjaan Python.
Konfigurasi Java dan Scala
Bagian ini menunjukkan cara mengonfigurasi dan menggunakan node Lindorm Spark di DataWorks dengan program contoh SparkPi.
Upload the JAR resource
Unggah file JAR contoh ke Lindorm Distributed File System (LindormDFS) dan salin jalur penyimpanannya. Anda akan menggunakan jalur ini nanti untuk mereferensikan file dalam konfigurasi node.
Persiapkan file JAR contoh.
Unduh paket spark-examples_2.12-3.3.0.jar ke mesin lokal Anda.
Unggah file JAR ke LindormDFS.
Masuk ke Lindorm console. Pada halaman Instance List untuk wilayah yang sesuai, temukan instans Lindorm yang telah Anda buat.
Klik Name instans tersebut untuk membuka halaman instance details.
Di panel navigasi sebelah kiri, klik compute engine untuk membuka halaman compute engine.
Pada tab job management, klik Upload Resource untuk membuka halaman Upload Resource.
Klik kotak bergaris putus-putus, cari file JAR yang telah Anda unduh, lalu klik Open.
Klik Upload untuk mengunggah file JAR tersebut.
Salin jalur penyimpanan resource JAR contoh.
Pada tab job management, temukan file JAR yang telah Anda unggah di bawah tombol Upload Resource. Klik ikon
di sebelah kiri file resource tersebut untuk menyalin jalur penyimpanannya di LindormDFS.
Configure the node
Konfigurasikan node Lindorm Spark berdasarkan deskripsi parameter berikut.
Bahasa | Parameter | Deskripsi |
Java/Scala | Main JAR resource | Masukkan jalur penyimpanan resource JAR contoh yang telah Anda salin pada langkah Upload the JAR resource. |
Main class | Kelas utama dari pekerjaan dalam file JAR yang telah dikompilasi. Untuk contoh ini, kelas utamanya adalah org.apache.spark.examples.SparkPi. |
Arguments | Masukkan argumen yang ingin Anda teruskan ke kode Anda. Anda dapat menggunakan parameter dinamis dalam format ${var}. |
Configurations | Tentukan parameter waktu proses untuk program Spark. Untuk informasi selengkapnya tentang properti Spark, lihat Spark Configuration. |
Konfigurasi Python
Bagian ini menunjukkan cara mengonfigurasi dan menggunakan node Lindorm Spark di DataWorks dengan program contoh yang menghitung nilai Pi.
Upload the Python resource
Unggah file resource Python contoh ke LindormDFS dan salin jalur penyimpanannya. Anda akan menggunakan jalur ini nanti untuk mereferensikan file dalam konfigurasi node.
Buat file resource Python.
Simpan skrip Python berikut sebagai file lokal bernama pi.py.
import sys
from random import random
from operator import add
from pyspark.sql import SparkSession
if __name__ == "__main__":
"""
Usage: pi [partitions]
"""
spark = SparkSession\
.builder\
.appName("PythonPi")\
.getOrCreate()
partitions = int(sys.argv[1]) if len(sys.argv) > 1 else 2
n = 100000 * partitions
def f(_: int) -> float:
x = random() * 2 - 1
y = random() * 2 - 1
return 1 if x ** 2 + y ** 2 <= 1 else 0
count = spark.sparkContext.parallelize(range(1, n + 1), partitions).map(f).reduce(add)
print("Pi is roughly %f" % (4.0 * count / n))
spark.stop()
Unggah file resource Python ke LindormDFS.
Masuk ke Lindorm console. Pada halaman Instance List untuk wilayah yang sesuai, temukan instans Lindorm yang telah Anda buat.
Klik Name instans tersebut untuk membuka halaman instance details.
Di panel navigasi sebelah kiri, klik compute engine untuk membuka halaman compute engine.
Pada tab job management, klik Upload Resource untuk membuka halaman Upload Resource.
Klik kotak bergaris putus-putus, cari file resource Python yang telah Anda buat, lalu klik Open.
Klik Upload untuk mengunggah file resource Python tersebut.
Salin jalur penyimpanan file resource Python contoh.
Pada tab job management, temukan file resource Python yang telah Anda unggah di bawah tombol Upload Resource. Klik ikon
di sebelah kiri file tersebut untuk menyalin jalur penyimpanannya di LindormDFS.
Configure the node
Konfigurasikan node Lindorm Spark berdasarkan deskripsi parameter berikut.
Bahasa | Parameter | Deskripsi |
Python | Main program package | Masukkan jalur penyimpanan file resource Python contoh yang telah Anda salin pada langkah Upload the Python resource. |
Arguments | Masukkan argumen yang ingin Anda teruskan ke kode Anda. Anda dapat menggunakan parameter dinamis dalam format ${var}. |
Configurations | Tentukan parameter waktu proses untuk program Spark. Untuk informasi selengkapnya tentang properti Spark, lihat Spark Configuration. |
Jalankan dan debug node Lindorm Spark
Konfigurasikan properti waktu proses.
Di panel kanan node, konfigurasikan parameter Run Configuration, Compute resource, Lindorm resource group, dan Resource group. Tabel berikut menjelaskan parameter-parameter tersebut.
Parameter | Deskripsi |
Compute resource | Pilih resource komputasi Lindorm yang telah Anda ikat. |
Lindorm resource group | Pilih kelompok sumber daya Lindorm yang telah Anda konfigurasi saat mengikat resource komputasi. |
Resource group | Pilih kelompok sumber daya yang telah lulus uji konektivitas saat Anda mengikat resource komputasi. |
Script parameters | Jika Anda telah menentukan variabel dalam format ${Parameter Name} saat konfigurasi node, Anda harus mengatur Parameter Name dan Parameter Value di bagian Script parameters. Variabel-variabel ini akan digantikan dengan nilai yang ditetapkan saat waktu proses. Untuk informasi selengkapnya, lihat Configure scheduling parameters. |
Jalankan node.
Untuk menjalankan pekerjaan node, klik Save lalu klik Run.
Langkah selanjutnya
Configure scheduling properties: Jika node perlu dijalankan sesuai jadwal, atur kebijakan Recurrence dan konfigurasikan properti penjadwalan lainnya di panel Schedule di sebelah kanan.
Publish the node: Jika pekerjaan perlu dijalankan di lingkungan produksi, klik ikon
untuk memulai proses penerbitan dan men-deploy pekerjaan ke lingkungan produksi. Node hanya akan dijalankan sesuai jadwal setelah diterbitkan ke lingkungan produksi.
Data Map (Lindorm table data): Gunakan Data Map untuk mengumpulkan metadata dari tabel Lindorm Anda.