All Products
Search
Document Center

MaxCompute:Spark Connector

Last Updated:Aug 22, 2026

Open storage MaxCompute memungkinkan Spark menggunakan connector untuk memanggil Storage API dan membaca data langsung dari MaxCompute. Pendekatan ini menyederhanakan proses pembacaan data serta meningkatkan kinerja akses. Integrasi Spark dengan penyimpanan data MaxCompute menyediakan kemampuan pemrosesan dan analisis data yang efisien, fleksibel, dan andal.

Lingkup

  • Saat mesin pihak ketiga mengakses MaxCompute:

    • Anda dapat membaca data dari tabel standar, tabel partisi, tabel terkluster, Delta Tables, dan tampilan yang di-materialisasi.

    • Anda tidak dapat membaca data dari tabel eksternal MaxCompute atau tampilan logis.

  • Connector tidak mendukung pembacaan tipe data JSON.

Prosedur

  1. Aktifkan MaxCompute dan buat proyek MaxCompute.

  2. Beli kelompok sumber daya eksklusif untuk Data Transmission Service (subscription) .

  3. Deploy lingkungan pengembangan Spark.

    Klik Spark untuk mengunduh paket Spark versi Spark 3.2.x - Spark 3.5.x, lalu ekstrak ke folder lokal.

    1. Untuk membangun lingkungan pengembangan Spark pada sistem operasi Linux, lihat Buat lingkungan pengembangan Linux.

    2. Untuk membangun lingkungan pengembangan Spark pada sistem operasi Windows, lihat Buat lingkungan pengembangan Windows.

  4. Unduh dan kompilasi Spark connector. Saat ini, hanya versi Spark 3.2.x hingga 3.5.x yang didukung. Topik ini menggunakan Spark 3.3.1 sebagai contoh.

    Gunakan perintah git clone untuk mengunduh paket Spark connector. Pastikan Git telah diinstal di lingkungan Anda; jika tidak, kesalahan akan terjadi saat menjalankan perintah tersebut.

    ## Unduh Spark connector.
    git clone https://github.com/aliyun/aliyun-maxcompute-data-collectors.git
    
    ## Beralih ke folder spark-connector.
    cd aliyun-maxcompute-data-collectors/spark-connector 
    
    ## Kompilasi connector.
    mvn clean package
    
    ## Lokasi paket JAR datasource.
    datasource/target/spark-odps-datasource-3.3.1-odps0.43.0.jar
    
    ## Salin paket JAR datasource ke folder $SPARK_HOME/jars/.
    cp datasource/target/spark-odps-datasource-3.3.1-odps0.43.0.jar $SPARK_HOME/jars/
  5. Konfigurasikan informasi akses akun MaxCompute.

    Di folder conf instalasi Spark Anda, buat file spark-defaults.conf:

    cd $SPARK_HOME/conf
    vim spark-defaults.conf

    Tambahkan informasi akun berikut ke file spark-defaults.conf:

    ## Konfigurasikan akun di spark-defaults.conf.
    spark.hadoop.odps.project.name=doc_test
    spark.hadoop.odps.access.id=L********************
    spark.hadoop.odps.access.key=*******************
    spark.hadoop.odps.end.point=http://service.cn-beijing.maxcompute.aliyun.com/api
    spark.hadoop.odps.tunnel.quota.name=ot_xxxx_p#ot_xxxx
    ## Konfigurasikan katalog MaxCompute.
    spark.sql.catalog.odps=org.apache.spark.sql.execution.datasources.v2.odps.OdpsTableCatalog 
    spark.sql.extensions=org.apache.spark.sql.execution.datasources.v2.odps.extension.OdpsExtensions
  6. Akses MaxCompute melalui Spark connector.

    1. Jalankan perintah berikut di folder bin instalasi Spark Anda untuk memulai klien Spark SQL:

      cd $SPARK_HOME/bin
      spark-sql
    2. Kueri tabel dalam proyek MaxCompute:

      SHOW tables in odps.doc_test;

      doc_test adalah contoh nama proyek MaxCompute. Ganti dengan nama proyek MaxCompute Anda.

    3. Buat tabel:

      CREATE TABLE odps.doc_test.mc_test_table (name STRING, num BIGINT);
    4. Baca data dari tabel:

      SELECT * FROM odps.doc_test.mc_test_table;
    5. Buat tabel partisi:

       CREATE TABLE odps.doc_test.mc_test_table_pt (name STRING, num BIGINT) PARTITIONED BY (pt1 STRING, pt2 STRING);
    6. Baca data dari tabel partisi:

      SELECT * FROM odps.doc_test.mc_test_table_pt;

      Output berikut dikembalikan:

      test1   1       2018    0601
      test2   2       2018    0601
      Time taken: 1.312 seconds, Fetched 2 row(s)
    7. Hapus tabel:

      DROP TABLE IF EXISTS odps.doc_test.mc_test_table;