All Products
Search
Document Center

AnalyticDB:Mengakses data di OSS

Last Updated:Aug 25, 2026

Mesin Spark AnalyticDB for MySQL memungkinkan Anda mengakses data di Object Storage Service (OSS) yang dimiliki oleh akun Alibaba Cloud yang sama (akses akun yang sama) atau akun Alibaba Cloud berbeda (akses lintas akun). Topik ini menjelaskan cara melakukan akses akun yang sama dan akses lintas akun ke data di OSS.

Prasyarat

  • Kluster AnalyticDB for MySQL Edisi Perusahaan, Edisi Dasar, atau Edisi Data Lakehouse telah dibuat.

  • Bucket Object Storage Service (OSS) telah dibuat di wilayah yang sama dengan kluster AnalyticDB for MySQL.

  • Kelompok sumber daya pekerjaan telah dibuat untuk kluster AnalyticDB for MySQL.

  • Akun database telah dibuat untuk kluster AnalyticDB for MySQL.

  • Otorisasi telah selesai dilakukan. Untuk informasi selengkapnya, lihat Otorisasi cepat.

    Penting

    Akses akun yang sama memerlukan izin AliyunADBSparkProcessingDataRole. Untuk akses lintas akun, Anda harus memberikan izin kepada akun Alibaba Cloud lainnya.

Langkah 1: Siapkan data

  1. Siapkan file teks dan unggah ke bucket OSS. Topik ini menggunakan file teks bernama readme.txt sebagai contoh. Untuk informasi selengkapnya, lihat Unggah file.

    AnalyticDB for MySQL
    Database product
  2. Buat skrip Python dan unggah ke bucket OSS. Contoh ini menggunakan skrip Python bernama example.py, yang membaca baris pertama dari file readme.txt.

    import sys
    
    from pyspark.sql import SparkSession
    
    # Inisialisasi Spark.
    spark = SparkSession.builder.appName('OSS Example').getOrCreate()
    # Baca file yang ditentukan. Jalur file diteruskan sebagai argumen dari 'args'.
    textFile = spark.sparkContext.textFile(sys.argv[1])
    # Hitung dan cetak jumlah total baris dalam file.
    print("File total lines: " + str(textFile.count()))
    # Cetak baris pertama file.
    print("First line is: " + textFile.first())
    

Langkah 2: Akses data OSS

  1. Login ke Konsol AnalyticDB for MySQL. Di pojok kiri atas konsol, pilih wilayah. Di panel navigasi sebelah kiri, klik Clusters. Temukan kluster yang ingin Anda kelola dan klik ID kluster tersebut.

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

  3. Di atas editor, pilih kelompok sumber daya pekerjaan dan jenis aplikasi Spark. Topik ini menggunakan tipe Batch sebagai contoh.

  4. Di editor, masukkan kode Spark berikut untuk membaca file dari OSS dan mencetak jumlah total baris serta baris pertamanya.

    Akses 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
      }
    }

    Parameter:

    Parameter

    Deskripsi

    args

    Argumen untuk aplikasi Spark.

    Pada contoh ini, jalur OSS file teks diberikan ke textFile.

    name

    Nama aplikasi Spark.

    file

    Jalur penyimpanan file utama untuk aplikasi Spark. File utama dapat berupa paket JAR yang berisi kelas entri atau skrip Python yang dapat dieksekusi.

    Penting

    File utama untuk aplikasi Spark saat ini hanya dapat disimpan di OSS.

    spark.adb.roleArn

    Peran RAM untuk akses lintas akun ke sumber data eksternal. Anda dapat menentukan beberapa peran dengan memisahkannya menggunakan koma (,). Formatnya adalah acs:ram::<testAccountID>:role/<testUserName>.

    • <testAccountID>: ID akun Alibaba Cloud tempat sumber data eksternal berada.

    • <testUserName>: Nama peran RAM yang dibuat untuk otorisasi lintas akun. Untuk informasi selengkapnya, lihat Otorisasi akun.

    Catatan

    Parameter ini tidak diperlukan untuk akses akun yang sama ke OSS.

    conf

    Parameter konfigurasi untuk aplikasi Spark. Parameter ini sebagian besar konsisten dengan parameter Apache Spark standar. Formatnya adalah key: value. Gunakan koma (,) untuk memisahkan beberapa parameter. Untuk parameter yang berbeda dari Apache Spark atau spesifik untuk AnalyticDB for MySQL, lihat Parameter konfigurasi aplikasi Spark.

    Akses lintas akun

    {
      "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:

    Parameter

    Deskripsi

    args

    Argumen untuk aplikasi Spark.

    Pada contoh ini, jalur OSS file teks diberikan ke textFile.

    name

    Nama aplikasi Spark.

    file

    Jalur penyimpanan file utama untuk aplikasi Spark. File utama dapat berupa paket JAR yang berisi kelas entri atau skrip Python yang dapat dieksekusi.

    Penting

    File utama untuk aplikasi Spark saat ini hanya dapat disimpan di OSS.

    spark.adb.roleArn

    Peran RAM untuk akses lintas akun ke sumber data eksternal. Anda dapat menentukan beberapa peran dengan memisahkannya menggunakan koma (,). Formatnya adalah acs:ram::<testAccountID>:role/<testUserName>.

    • <testAccountID>: ID akun Alibaba Cloud tempat sumber data eksternal berada.

    • <testUserName>: Nama peran RAM yang dibuat untuk otorisasi lintas akun. Untuk informasi selengkapnya, lihat Otorisasi akun.

    Catatan

    Parameter ini tidak diperlukan untuk akses akun yang sama ke OSS.

    conf

    Parameter konfigurasi untuk aplikasi Spark. Parameter ini sebagian besar konsisten dengan parameter Apache Spark standar. Formatnya adalah key: value. Gunakan koma (,) untuk memisahkan beberapa parameter. Untuk parameter yang berbeda dari Apache Spark atau spesifik untuk AnalyticDB for MySQL, lihat Parameter konfigurasi aplikasi Spark.

  5. Klik Run Now.

    Setelah Pekerjaan selesai, Anda dapat melihat output-nya di log Pekerjaan. Untuk melakukannya, buka Applications pada halaman Spark JAR Development, lalu klik Logs untuk Pekerjaan tersebut. Untuk informasi selengkapnya, lihat Editor pengembangan Spark.

Referensi