All Products
Search
Document Center

AnalyticDB:Akses OSS

Last Updated:Mar 29, 2026

AnalyticDB for MySQL Spark memungkinkan Anda mengakses data Object Storage Service (OSS) baik dalam akun Alibaba Cloud yang sama maupun lintas akun Alibaba Cloud. Topik ini memandu Anda melalui kedua skenario tersebut dengan contoh PySpark yang membaca file teks dari OSS.

Prasyarat

Sebelum memulai, pastikan Anda telah:

Pilih skenario Anda

SkenarioIzin yang diperlukanKonfigurasi utama
Akses OSS dalam akun Alibaba Cloud yang samaAliyunADBSparkProcessingDataRole pada akun AndaTidak perlu parameter tambahan
Akses OSS lintas akun Alibaba CloudOtorisasi telah diselesaikan untuk akun lainTambahkan spark.adb.roleArn ke blok conf

Langkah 1: Siapkan data

Unggah file input dan skrip PySpark ke Bucket OSS Anda sebelum mengirimkan pekerjaan.

  1. Buat file teks bernama readme.txt dengan konten berikut, lalu unggah ke Bucket OSS Anda:

    AnalyticDB for MySQL
    Database service

    Untuk petunjuk pengunggahan, lihat Unggah objek.

  2. Buat file Python bernama example.py yang membaca baris pertama dari readme.txt, lalu unggah ke Bucket OSS yang sama:

    import sys
    from pyspark.sql import SparkSession
    
    # Inisialisasi aplikasi Spark
    spark = SparkSession.builder.appName('OSS Example').getOrCreate()
    
    # Baca file teks — path dilewatkan melalui args
    textFile = spark.sparkContext.textFile(sys.argv[1])
    
    # Cetak jumlah total baris dan baris pertama
    print("File total lines: " + str(textFile.count()))
    print("First line is: " + textFile.first())
Penting

File utama aplikasi Spark (paket JAR atau skrip Python) harus disimpan di OSS sebelum Anda mengirimkan pekerjaan.

Langkah 2: Kirim pekerjaan Spark

  1. Masuk ke Konsol AnalyticDB for MySQL. Di pojok kiri atas, pilih wilayah. Di panel navigasi kiri, klik Clusters. Pada tab Data Lakehouse Edition, temukan kluster Anda dan klik ID-nya.

  2. Di panel navigasi kiri, pilih Job Development > Spark JAR Development.

  3. Di bagian atas editor, pilih kelompok sumber daya pekerjaan dan jenis aplikasi Spark. Dalam contoh ini, jenis Batch dipilih.

  4. Tempel JSON konfigurasi pekerjaan sesuai skenario Anda dan klik Run Now.

    Akses data OSS dari akun yang sama

    {
      "args": ["oss://testBucketName/data/readme.txt"],
      "name": "spark-oss-test",
      "file": "oss://testBucketName/data/example.py",
      "conf": {
        "spark.driver.resourceSpec": "small",
        "spark.executor.resourceSpec": "small",
        "spark.executor.instances": 1
      }
    }

    Akses data OSS dari akun berbeda

    Tambahkan spark.adb.roleArn ke dalam blok conf. Parameter ini memberi tahu Spark peran RAM yang harus diasumsikan saat mengakses bucket OSS milik akun lain.

    {
      "args": ["oss://testBucketName/data/readme.txt"],
      "name": "CrossAccount",
      "file": "oss://testBucketName/data/example.py",
      "conf": {
        "spark.adb.roleArn": "acs:ram::testAccountID:role/<testUserName>",
        "spark.driver.resourceSpec": "small",
        "spark.executor.resourceSpec": "small",
        "spark.executor.instances": 1
      }
    }

Parameter

ParameterDeskripsi
argsArgumen yang dilewatkan ke aplikasi Spark. Pisahkan beberapa nilai dengan koma (,). Dalam contoh ini, path OSS file input dilewatkan ke textFile.
nameNama aplikasi Spark.
filePath file utama — paket JAR yang berisi kelas entri, atau skrip Python sebagai titik masuk. Harus berupa path OSS.
spark.adb.roleArnRole RAM untuk akses OSS lintas akun. Format: acs:ram::<testAccountID>:role/<testUserName>, di mana <testAccountID> adalah ID akun Alibaba Cloud pemilik Bucket OSS, dan <testUserName> adalah nama role RAM yang dibuat selama otorisasi lintas akun. Lihat Lakukan otorisasi. Pisahkan beberapa role dengan koma (,). Tidak diperlukan untuk akses akun yang sama.
confKonfigurasi Spark dalam format key:value, dipisahkan koma. Menerima parameter standar Apache Spark dan parameter khusus AnalyticDB for MySQL. Lihat Parameter konfigurasi aplikasi Spark.

Verifikasi hasil

Setelah pekerjaan selesai dijalankan, klik Log di kolom Actions pada tab Applications di halaman Spark JAR Development untuk melihat output.

Untuk detail lebih lanjut tentang penampil log, lihat Editor Spark.

Topik terkait