All Products
Search
Document Center

MaxCompute:StarRocks Connector

Last Updated:Aug 22, 2026

StarRocks Connector memanfaatkan mekanisme External Catalog untuk mengakses sumber data MaxCompute secara mulus—tanpa perlu mengimpor data atau membuat tabel eksternal—dan menjalankan kueri SQL kompleks. Pendekatan ini meningkatkan efisiensi analitik data serta mengurangi kompleksitas dan biaya operasional serta maintenance (O&M). Topik ini menjelaskan cara mengakses MaxCompute menggunakan StarRocks Connector.

Informasi latar belakang

StarRocks adalah database Massively Parallel Processing (MPP) generasi berikutnya yang berkecepatan tinggi dan mendukung berbagai beban kerja analitik tingkat enterprise, seperti analisis multidimensi berbasis online analytical processing (OLAP), pembuatan laporan kustom, analisis data real-time, dan kueri ad hoc. Untuk detail tentang StarRocks, lihat Pengenalan StarRocks. StarRocks mendukung fitur Catalog (data catalog), yang memungkinkan Anda mengelola data internal dan eksternal dalam satu sistem serta dengan mudah mengakses dan melakukan kueri terhadap data yang disimpan di berbagai sumber eksternal. Untuk informasi lebih lanjut, lihat Ikhtisar Catalog.

Prasyarat

  • Anda telah men-deploy kluster StarRocks versi 3.2.3 atau yang lebih baru dan memastikan bahwa kluster tersebut dapat mengakses layanan MaxCompute dengan baik. Untuk informasi lebih lanjut tentang cara men-deploy kluster StarRocks, lihat Deploy kluster StarRocks shared-nothing menggunakan Docker Compose.

  • Beli kelompok sumber daya Data Transmission Service khusus (subscription) atau aktifkan sumber daya penyimpanan terbuka (pay-as-you-go).

Batasan

  • Mendukung pembacaan tabel standar, tabel partisi, tabel terkluster, Delta Tables, dan tampilan yang di-materialisasi. Tidak mendukung pembacaan tabel eksternal atau tampilan logis.

  • Tidak mendukung pembacaan tipe data JSON.

  • Hanya mendukung proyek MaxCompute dengan Schema dinonaktifkan. Untuk detail tentang Schema, lihat Operasi Schema.

Buat MaxCompute Catalog

Login ke StarRocks dan buat MaxCompute Catalog di StarRocks. Untuk informasi lebih lanjut tentang External Catalog, lihat Buat External Catalog.

Sintaksis

CREATE EXTERNAL CATALOG <catalog_name>
[COMMENT <comment>]
PROPERTIES
(
    "type" = "odps",
    CatalogParams,
    ScanParams,
    CachingMetaParams
)

Deskripsi parameter

  • Parameter umum

    Parameter

    Wajib

    Deskripsi

    catalog_name

    Ya

    Nama MaxCompute Catalog. Ikuti aturan penamaan berikut:

    • Harus terdiri dari huruf (a–z atau A–Z), angka (0–9), atau garis bawah (_), dan harus dimulai dengan huruf.

    • Panjang maksimum 1023 karakter.

    • Nama Catalog bersifat case-sensitive.

    type

    Ya

    Jenis sumber data. Atur parameter ini ke odps.

    comment

    Tidak

    Deskripsi MaxCompute Catalog.

    CatalogParams

    Ya

    Parameter agar StarRocks dapat mengakses MaxCompute.

    ScanParams

    Tidak

    Parameter agar StarRocks dapat mengakses penyimpanan file MaxCompute.

    CachingMetaParams

    Tidak

    Parameter yang menentukan kebijakan caching metadata.

  • Parameter CatalogParams

    Parameter

    Wajib

    Deskripsi

    odps.endpoint

    Ya

    Alamat koneksi layanan MaxCompute. Konfigurasikan endpoint berdasarkan wilayah dan metode konektivitas jaringan yang dipilih saat Anda membuat proyek MaxCompute. Untuk nilai endpoint berdasarkan wilayah dan jenis jaringan, lihat Endpoint.

    Penting

    Saat ini, hanya jaringan VPC Alibaba Cloud yang didukung.

    odps.project

    Ya

    Nama proyek MaxCompute. Login ke Konsol MaxCompute dan buka halaman Workspace > Projects untuk mendapatkan nama proyek.

    Catatan

    Jika Anda membuat workspace dalam mode standar, bedakan antara nama proyek lingkungan produksi dan lingkungan pengembangan (_dev) saat mengonfigurasi parameter ini.

    odps.access.id

    Ya

    ID AccessKey Akun Alibaba Cloud atau Pengguna Resource Access Management (RAM) Anda. Buka halaman manajemen AccessKey untuk mendapatkan ID AccessKey.

    odps.access.key

    Ya

    Rahasia AccessKey yang sesuai dengan ID AccessKey tersebut.

    odps.tunnel.quota

    Ya

  • Parameter ScanParams

    Parameter

    Wajib

    Deskripsi

    odps.split.policy

    Tidak

    Strategi sharding yang digunakan saat memindai data. Nilai yang valid:

    • size (default): shard berdasarkan ukuran data. Nilai default: 256 MB.

    • row_offset: shard berdasarkan jumlah baris.

    Catatan

    Strategi sharding sangat memengaruhi konkurensi pemindaian data di mesin komputasi. Jika strategi default tidak memenuhi kebutuhan Anda, pilih strategi row_offset dan sesuaikan menggunakan parameter odps.split.row.count.

    odps.split.row.count

    Tidak

    Jumlah maksimum baris per shard. Nilai default: 4194304. Rentang nilai: lebih besar dari 0.

    Catatan

    Konfigurasikan parameter ini hanya ketika odps.split.policy diatur ke row_offset.

  • Parameter CachingMetaParams

    Parameter

    Wajib

    Deskripsi

    odps.cache.table.enable

    Tidak

    Apakah akan menyimpan cache metadata tabel. Nilai yang valid:

    • true (default): mengaktifkan caching metadata tabel. Ini meningkatkan kecepatan pengambilan dan pembaruan metadata, cocok untuk skenario yang melibatkan operasi DDL sering, lingkungan multi-pengguna besar, atau optimasi kueri kompleks.

    • false: menonaktifkan caching metadata tabel. Karena sumber daya cache terbatas dan ketergantungan berlebihan pada caching dapat menghabiskan terlalu banyak memori, nonaktifkan caching untuk kueri yang jarang dilakukan atau tabel yang metadata-nya sering berubah.

    odps.cache.table.expire

    Tidak

    Interval waktu, dalam detik (s), setelah itu metadata tabel yang di-cache secara otomatis dihapus. Nilai default: 86400 (24 jam). Rentang nilai: lebih besar dari atau sama dengan 0.

    odps.cache.table.size

    Tidak

    Jumlah entri metadata tabel yang di-cache. Nilai default: 1000.

    odps.cache.partition.enable

    Tidak

    Apakah akan menyimpan cache metadata untuk semua partisi di bawah tabel target. Nilai yang valid:

    • true (default): mengaktifkan caching metadata untuk semua partisi di bawah tabel target.

    • false: menonaktifkan caching. Metadata untuk semua partisi tidak di-cache.

    Catatan

    Jika tabel tidak dipartisi, parameter odps.cache.partition.enable tidak berpengaruh.

    odps.cache.partition.expire

    Tidak

    Interval waktu, dalam detik (s), setelah itu metadata partisi yang di-cache secara otomatis dihapus. Nilai default: 86400 (24 jam). Rentang nilai: lebih besar dari atau sama dengan 0.

    odps.cache.partition.size

    Tidak

    Jumlah tabel partisi yang metadata-nya dapat di-cache. Nilai default: 1000.

    odps.cache.table-name.enable

    Tidak

    Apakah akan menyimpan cache semua nama tabel dalam proyek MaxCompute. Nilai yang valid:

    • true: mengaktifkan caching semua nama tabel dalam proyek MaxCompute.

    • false (default): menonaktifkan caching semua nama tabel dalam proyek MaxCompute.

    odps.cache.table-name.expire

    Tidak

    Interval waktu, dalam detik (s), setelah itu informasi nama tabel yang di-cache dalam proyek MaxCompute secara otomatis dihapus. Nilai default: 86400 (24 jam). Rentang nilai: lebih besar dari atau sama dengan 0.

Contoh

Contoh berikut membuat MaxCompute Catalog bernama odps_catalog, menggunakan proyek MaxCompute mf_mc_bj sebagai contoh.

-- Buat catalog
CREATE EXTERNAL CATALOG odps_catalog PROPERTIES(
    "type"="odps",
    "odps.access.id"="<yourAccessKeyId>",
    "odps.access.key"="<yourAccessKeySecret>",
    "odps.endpoint"="http://service.cn-beijing.maxcompute.aliyun.com/api",
    "odps.tunnel.quota"="pay-as-you-go",
    "odps.project"="mf_mc_bj"
);

Akses MaxCompute

  1. Beralih ke Catalog dan proyek MaxCompute target. Contoh ini menggunakan odps_catalog dan mf_mc_bj.

    • Sintaksis

      • Metode 1

        -- Tentukan Catalog
        SET CATALOG <catalog_name>;
        -- Tentukan proyek MaxCompute
        USE <project_name>;
      • Metode 2

        USE <catalog_name>.<project_name>;
    • Contoh

      SET CATALOG odps_catalog;
      USE mf_mc_bj;
  2. Lakukan kueri data. Contoh ini menggunakan tabel src.

SELECT * FROM src LIMIT 10;

Hasilnya sebagai berikut.

+------+-------+
| key  | value |
+------+-------+
| 1    | 1     |
| 3    | 3     |
| 2    | 2     |
| 4    | 100   |
| 5    | 200   |
| 6    | 300   |
| 3    | 400   |
+------+-------+

Operasi lainnya

Lihat MaxCompute Catalog

  • Daftar semua Catalog di kluster StarRocks saat ini.

    SHOW CATALOGS;

    Hasilnya sebagai berikut.

    +-----------------+----------+------------------------------------------------------------------+
    | Catalog         | Type     | Comment                                                          |
    +-----------------+----------+------------------------------------------------------------------+
    | default_catalog | Internal | An internal catalog contains this cluster‘s self-managed tables. |
    | odps_catalog    | Odps     | NULL                                                             |
    +-----------------+----------+------------------------------------------------------------------+
  • Tampilkan pernyataan CREATE untuk Catalog tertentu.

    SHOW CREATE CATALOG odps_catalog;

    Hasilnya sebagai berikut.

    +--------------+--------------------------------------------------------------------------+
    | Catalog      | Create Catalog                                                           |
    +--------------+--------------------------------------------------------------------------+
    | odps_catalog | CREATE EXTERNAL CATALOG `odps_catalog`
                     PROPERTIES ("odps.endpoint"  =  "http://service.cn-beijing.maxcompute.aliyun.com/api",
                     "odps.access.id"  =  "<yourAccessKeyId>",
                     "odps.access.key"  =  "<yourAccessKeySecret>",
                     "odps.project"  =  "odps_project",
                     "type"  =  "odps"
                    )|
    +-----------------------------------------------------------------------------------------+

Lihat skema tabel MaxCompute

  • Jelaskan skema tabel MaxCompute.

    • Sintaksis

      DESC[RIBE] <catalog_name>.<database_name>.<table_name>;
    • Deskripsi parameter

      • catalog_name: wajib. Nama Catalog.

      • database_name: wajib. Nama proyek MaxCompute di bawah Catalog target.

      • table_name: wajib. Nama tabel di bawah proyek MaxCompute target.

    • Contoh

      DESC odps_catalog.mf_mc_bj.src;

      Hasilnya sebagai berikut.

      +-------+------+------+-------+---------+-------+
      | Field | Type | Null | Key   | Default | Extra |
      +-------+------+------+-------+---------+-------+
      | id    | INT  | Yes  | false | NULL    |       |
      | a     | INT  | Yes  | false | NULL    |       |
      +-------+------+------+-------+---------+-------+
  • Tampilkan skema tabel MaxCompute beserta pernyataan CREATE TABLE-nya.

    • Sintaksis

      SHOW CREATE TABLE <catalog_name>.<database_name>.<table_name>;
    • Deskripsi parameter

      • catalog_name: wajib. Nama Catalog.

      • database_name: wajib. Nama proyek MaxCompute di bawah Catalog target.

      • table_name: wajib. Nama tabel di bawah proyek MaxCompute target.

    • Contoh

      SHOW CREATE TABLE odps_catalog.mf_mc_bj.src;

      Hasilnya sebagai berikut.

      +-------+--------------------------------------------------------------------------------+
      | Table | Create Table                                                                   |
      +-------+--------------------------------------------------------------------------------+
      | src   | CREATE TABLE `src` (
        `id` int(11) DEFAULT NULL,
        `a` int(11) DEFAULT NULL
      ) |
      +-------+--------------------------------------------------------------------------------+

Hapus MaxCompute Catalog

Jalankan perintah berikut untuk menghapus MaxCompute Catalog.

DROP CATALOG odps_catalog;

Pengumpulan statistik Cost-Based Optimizer (CBO)

Versi StarRocks saat ini tidak mendukung pengumpulan statistik tabel MaxCompute secara otomatis. Jalankan perintah berikut untuk membuat tugas pengumpulan statistik secara manual.

-- Ganti <table_name> dengan nama tabel MaxCompute
ANALYZE TABLE <table_name>;
Catatan

CBO StarRocks dapat melakukan estimasi biaya berdasarkan berbagai statistik dan memilih rencana eksekusi dengan biaya terendah dari puluhan ribu rencana eksekusi, sehingga meningkatkan efisiensi dan performa kueri kompleks. Untuk informasi lebih lanjut, lihat Kumpulkan statistik untuk CBO.

Segarkan ulang cache metadata secara manual

Secara default, StarRocks menyimpan cache metadata MaxCompute untuk meningkatkan performa kueri. Setelah mengubah skema tabel atau memperbarui data tabel, segarkan ulang metadata tabel secara manual agar StarRocks segera mengambil metadata terbaru.

-- Ganti <table_name> dengan nama tabel MaxCompute
REFRESH EXTERNAL TABLE <table_name>;

FAQ

Error saat membaca data: Kuota slot Anda telah melebihi batas.

  • Analisis Masalah

    Error ini terjadi ketika volume data yang dibaca melebihi kuota Data Transmission Service. Saat membaca, StarRocks membagi tabel menjadi beberapa shard dan mendistribusikannya ke node BE, yang menggunakan kolam thread untuk membaca data secara konkuren. Jumlah slot yang digunakan selama pembacaan biasanya: Max(jumlah shard, jumlah BE × konkurensi kolam thread BE).

  • Solusi

    • Beli kelompok sumber daya Data Transmission Service khusus dengan konkurensi lebih tinggi. Untuk petunjuknya, lihat Beli dan gunakan kelompok sumber daya Data Transmission Service khusus.

    • Atur jumlah shard dengan mengonfigurasi parameter ScanParams. Jika Anda menggunakan strategi sharding row_offset, tingkatkan juga parameter odps.split.row.count.

    • Ubah parameter kolam thread BE StarRocks scanner_thread_pool_queue_size dan scanner_thread_pool_thread_num. Untuk detailnya, lihat Pengenalan StarRocks.

Lampiran: Pemetaan tipe

Tipe bidang MaxCompute

Tipe bidang StarRocks

BOOLEAN

BOOLEAN

TINYINT

TINYINT

SMALLINT

SMALLINT

INT

INT

BIGINT

BIGINT

FLOAT

FLOAT

DOUBLE

DOUBLE

DECIMAL(p, s)

DECIMAL(p, s)

STRING

VARCHAR(1073741824)

VARCHAR(n)

VARCHAR(n)

CHAR(n)

CHAR(n)

JSON

VARCHAR(1073741824)

BINARY

VARBINARY

DATE

DATE

DATETIME

DATETIME

TIMESTAMP

DATETIME

Penting

StarRocks tidak memiliki tipe TIMESTAMP. Saat membaca data TIMESTAMP, data tersebut diperlakukan sebagai DATETIME, sehingga terjadi kehilangan presisi.

ARRAY

ARRAY

MAP

MAP

STRUCT

STRUCT