All Products
Search
Document Center

MaxCompute:Konektor StarRocks

Last Updated:Nov 10, 2025

Konektor StarRocks memungkinkan akses mulus ke sumber data MaxCompute dan menjalankan kueri SQL kompleks melalui katalog eksternal tanpa perlu mengimpor data atau membuat tabel eksternal. Pendekatan ini meningkatkan efisiensi analitik data sekaligus mengurangi kompleksitas dan biaya operasional. Topik ini menjelaskan cara menggunakan konektor StarRocks untuk mengakses MaxCompute.

Informasi latar belakang

StarRocks adalah database Pemrosesan Paralel Masif (MPP) generasi berikutnya yang berkecepatan tinggi, mampu memenuhi berbagai kebutuhan analisis tingkat perusahaan seperti analisis multidimensi, pembuatan laporan kustom, analitik data real-time, dan analitik data ad hoc. Untuk informasi selengkapnya tentang StarRocks, lihat Apa itu StarRocks?. StarRocks mendukung fitur katalog data yang memungkinkan pengelolaan data internal dan eksternal dalam satu sistem terpadu, sehingga mempermudah akses dan kueri terhadap berbagai sumber data eksternal. Untuk informasi selengkapnya, lihat Ikhtisar katalog.

Prasyarat

Batasan

  • Anda dapat membaca data dari tabel standar, tabel partisi, tabel terkluster, tabel Delta, dan Tampilan yang di-materialisasi. Anda tidak dapat membaca data dari tabel eksternal atau tampilan logis.

  • Anda tidak dapat membaca data JSON.

  • Hanya proyek MaxCompute yang tidak mengaktifkan fitur skema yang didukung. Untuk informasi selengkapnya tentang fitur skema, lihat Operasi terkait skema.

Buat katalog MaxCompute

Masuk ke kluster StarRocks dan buat katalog MaxCompute. Untuk informasi lebih lanjut mengenai katalog eksternal, lihat CREATE EXTERNAL CATALOG.

Sintaks

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

Parameter

  • Parameter umum

    Parameter

    Wajib

    Deskripsi

    catalog_name

    Ya

    Nama katalog MaxCompute. Nama harus memenuhi persyaratan berikut:

    • Nama hanya boleh berisi huruf (a hingga z atau A hingga Z), angka (0 hingga 9), atau garis bawah (_) dan harus dimulai dengan huruf.

    • Panjang nama tidak boleh melebihi 1.023 karakter.

    • Nama katalog bersifat case-sensitive.

    type

    Ya

    Jenis sumber data. Tetapkan parameter ini ke odps.

    comment

    Tidak

    Deskripsi katalog MaxCompute.

    CatalogParams

    Ya

    Parameter yang digunakan oleh StarRocks untuk terhubung ke MaxCompute.

    ScanParams

    Tidak

    Parameter yang digunakan oleh StarRocks untuk terhubung ke penyimpanan file MaxCompute.

    CachingMetaParams

    Tidak

    Parameter yang menentukan kebijakan cache metadata.

  • Parameter yang dapat dikonfigurasi dalam CatalogParams

    Parameter

    Wajib

    Deskripsi

    odps.endpoint

    Ya

    Titik akhir layanan MaxCompute. Anda harus mengonfigurasi parameter ini berdasarkan wilayah dan mode konektivitas jaringan yang Anda pilih saat membuat proyek MaxCompute. Untuk informasi tentang titik akhir yang sesuai dengan berbagai wilayah dan mode konektivitas jaringan, lihat Titik akhir.

    Penting

    Hanya jaringan VPC Alibaba Cloud yang didukung.

    odps.project

    Ya

    Nama proyek MaxCompute. Anda dapat masuk ke Konsol MaxCompute dan memilih Workspace > Project Management di panel navigasi sebelah kiri untuk mendapatkan nama proyek MaxCompute.

    Catatan

    Jika workspace Anda berada dalam mode standar, Anda harus membedakan nama proyek di lingkungan pengembangan (_dev) dari nama proyek di lingkungan produksi saat mengonfigurasi parameter ini.

    odps.access.id

    Ya

    ID AccessKey Akun Alibaba Cloud atau Pengguna RAM Anda. Anda dapat membuka halaman Manajemen AccessKey untuk mendapatkan ID AccessKey.

    odps.access.key

    Ya

    Rahasia AccessKey yang sesuai dengan ID AccessKey tersebut.

    odps.tunnel.quota

    Ya

    Nama kuota yang digunakan untuk mengakses MaxCompute. Dua jenis sumber daya didukung untuk mengakses MaxCompute: kelompok sumber daya eksklusif untuk Layanan Transmisi Data (langganan) dan penyimpanan terbuka (bayar sesuai penggunaan). Anda hanya dapat menentukan satu nama kuota.

    • Langganan: Masuk ke Konsol MaxCompute, ganti wilayah di pojok kiri atas, lalu pilih Workspace > Quota Management di panel navigasi sebelah kiri untuk melihat daftar kuota yang tersedia. Untuk informasi selengkapnya, lihat Sumber daya komputasi - Manajemen kuota.

    • Bayar sesuai penggunaan: Masuk ke Konsol MaxCompute, ganti wilayah di pojok kiri atas, lalu pilih Tenant Management > Tenant Properties di panel navigasi sebelah kiri. Aktifkan sakelar Open Storage (Storage API) untuk memberikan izin yang diperlukan.

  • Parameter yang dapat dikonfigurasi dalam ScanParams

    Parameter

    Wajib

    Deskripsi

    odps.split.policy

    Tidak

    Kebijakan sharding data yang digunakan selama pemindaian data. Nilai yang valid:

    • size: Data di-shard berdasarkan ukuran data. Ini adalah nilai default. Ukuran default untuk sharding adalah 256 MB.

    • row_offset: Data di-shard berdasarkan jumlah baris.

    Catatan

    Kebijakan sharding sangat memengaruhi konkurensi pemindaian data pada mesin komputasi. Jika kebijakan default tidak memenuhi kebutuhan bisnis Anda, Anda dapat menggunakan kebijakan row_offset bersama dengan parameter odps.split.row.count untuk melakukan penyesuaian sesuai kebutuhan.

    odps.split.row.count

    Tidak

    Jumlah maksimum baris data yang terdapat dalam setiap shard. Nilai default: 4194304. Rentang nilai: nilai lebih besar dari 0.

    Catatan

    Parameter ini hanya diperlukan ketika Anda menetapkan parameter odps.split.policy ke row_offset.

  • Parameter yang dapat dikonfigurasi dalam CachingMetaParams

    Parameter

    Wajib

    Deskripsi

    odps.cache.table.enable

    Tidak

    Menentukan apakah metadata tabel akan di-cache. Nilai yang valid:

    • true: menyimpan cache metadata tabel. Ini adalah nilai default. Penyimpanan cache metadata tabel membantu meningkatkan kecepatan pengambilan dan pembaruan metadata. Penyimpanan cache metadata tabel cocok untuk skenario di mana Anda perlu sering melakukan operasi DDL, lingkungan besar yang melibatkan banyak pengguna digunakan, atau Anda ingin mengoptimalkan kueri kompleks.

    • false: tidak menyimpan cache metadata tabel. Sumber daya caching terbatas, dan ketergantungan berlebihan pada caching dapat menghabiskan sumber daya memori. Anda dapat menonaktifkan penyimpanan cache metadata tabel dalam skenario di mana Anda tidak perlu sering melakukan kueri data atau metadata tabel sering berubah.

    odps.cache.table.expire

    Tidak

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

    odps.cache.table.size

    Tidak

    Jumlah tabel yang metadatanya perlu di-cache. Nilai default: 1000.

    odps.cache.partition.enable

    Tidak

    Menentukan apakah metadata semua partisi dalam tabel yang diinginkan akan di-cache. Nilai yang valid:

    • true: menyimpan cache metadata semua partisi dalam tabel yang diinginkan. Ini adalah nilai default.

    • false: tidak menyimpan cache metadata partisi apa pun dalam tabel yang diinginkan.

    Catatan

    Parameter odps.cache.partition.enable tidak berlaku untuk tabel non-partisi.

    odps.cache.partition.expire

    Tidak

    Durasi setelah metadata semua partisi yang di-cache dihapus secara otomatis. Satuan: detik (s). Nilai default: 86400, yang setara dengan 24 jam. Rentang nilai: nilai lebih besar dari atau sama dengan 0.

    odps.cache.partition.size

    Tidak

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

    odps.cache.table-name.enable

    Tidak

    Menentukan apakah nama semua tabel dalam proyek MaxCompute akan di-cache. Nilai yang valid:

    • true: menyimpan cache nama semua tabel dalam proyek MaxCompute.

    • false: tidak menyimpan cache nama semua tabel dalam proyek MaxCompute. Ini adalah nilai default.

    odps.cache.table-name.expire

    Tidak

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

Contoh

Bagian ini memberikan contoh cara membuat katalog MaxCompute bernama odps_catalog, menggunakan proyek MaxCompute mf_mc_bj.

-- Buat katalog.
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 katalog dan proyek MaxCompute yang telah Anda buat. Contoh ini menggunakan katalog MaxCompute odps_catalog dan proyek MaxCompute mf_mc_bj.

    • Sintaks

      • Metode 1

        -- Tentukan katalog.
        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;

Hasil berikut dikembalikan.

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

Operasi lainnya

Lihat katalog MaxCompute

  • Kueri semua katalog dalam kluster StarRocks saat ini.

    SHOW CATALOGS;

    Hasil berikut dikembalikan.

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

    SHOW CREATE CATALOG odps_catalog;

    Hasil berikut dikembalikan.

    +--------------+--------------------------------------------------------------------------+
    | 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 dari tabel MaxCompute

  • Kueri skema tabel MaxCompute.

    • Sintaks

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

      • catalog_name: Wajib. Nama katalog.

      • database_name: Wajib. Nama proyek MaxCompute dalam katalog.

      • table_name: Wajib. Nama tabel dalam proyek MaxCompute.

    • Contoh

      DESC odps_catalog.mf_mc_bj.src;

      Hasil berikut dikembalikan.

      +-------+------+------+-------+---------+-------+
      | Field | Type | Null | Key   | Default | Extra |
      +-------+------+------+-------+---------+-------+
      | id    | INT  | Yes  | false | NULL    |       |
      | a     | INT  | Yes  | false | NULL    |       |
      +-------+------+------+-------+---------+-------+
  • Kueri skema tabel MaxCompute beserta pernyataan pembuatannya.

    • Sintaks

      SHOW CREATE TABLE <catalog_name>.<database_name>.<table_name>;
    • Parameter

      • catalog_name: Wajib. Nama katalog.

      • database_name: Wajib. Nama proyek MaxCompute dalam katalog.

      • table_name: Wajib. Nama tabel dalam proyek MaxCompute.

    • Contoh

      SHOW CREATE TABLE odps_catalog.mf_mc_bj.src;

      Hasil berikut dikembalikan.

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

Hapus katalog MaxCompute

Anda dapat menjalankan perintah berikut untuk menghapus katalog MaxCompute.

DROP CATALOG odps_catalog;

Kumpulkan informasi statistik untuk Cost-Based Optimizer (CBO)

StarRocks tidak mendukung pengumpulan otomatis informasi statistik untuk tabel MaxCompute. Anda dapat menjalankan perintah berikut untuk membuat tugas secara manual guna mengumpulkan informasi statistik tersebut.

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

Cost-Based Optimizer (CBO) StarRocks memperkirakan biaya eksekusi kueri SQL berdasarkan berbagai jenis informasi statistik dan memilih rencana eksekusi dengan biaya terendah dari puluhan ribu rencana eksekusi potensial. Hal ini meningkatkan efisiensi dan kinerja kueri kompleks. Untuk informasi selengkapnya, lihat Kumpulkan statistik untuk CBO.

Perbarui metadata yang di-cache secara manual

Secara default, StarRocks menyimpan cache metadata MaxCompute untuk meningkatkan kinerja kueri. Jika Anda mengubah skema tabel atau memperbarui data dalam tabel, Anda dapat memperbarui metadata tabel tersebut secara manual agar StarRocks segera menggunakan cache metadata terbaru.

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

Pertanyaan Umum

Pesan kesalahan "Your slot quota is exceeded" dilaporkan selama pembacaan data.

  • Analisis masalah

    Kesalahan ini terjadi ketika operasi pembacaan data melebihi kuota Layanan Transmisi Data. Saat StarRocks membaca data, tabel dibagi menjadi beberapa shard dan didistribusikan ke node backend (BE). Node BE kemudian membaca data secara konkuren menggunakan kolam thread. Oleh karena itu, jumlah slot yang digunakan selama operasi baca biasanya dihitung sebagai berikut: Max(Jumlah shard, Jumlah BE × Konkurensi kolam thread BE).

  • Solusi

    • Beli kelompok sumber daya eksklusif untuk Layanan Transmisi Data yang mendukung konkurensi tinggi. Untuk informasi selengkapnya, lihat Beli dan gunakan kelompok sumber daya eksklusif untuk Layanan Transmisi Data.

    • Konfigurasikan parameter ScanParams untuk menyesuaikan jumlah shard. Jika Anda menggunakan kebijakan sharding row_offset, Anda juga harus menambah nilai parameter odps.split.row.count.

    • Ubah jumlah thread dalam kolam thread BE StarRocks dengan mengubah parameter scanner_thread_pool_queue_size dan scanner_thread_pool_thread_num. Untuk informasi selengkapnya tentang cara mengubah parameter ini, lihat Apa itu StarRocks?.

Lampiran: Pemetaan tipe data

Tipe data bidang di MaxCompute

Tipe data bidang di 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 mendukung tipe data TIMESTAMP. Saat StarRocks membaca data bertipe TIMESTAMP, StarRocks mengonversi tipe data tersebut menjadi DATETIME, yang menyebabkan hilangnya presisi data.

ARRAY

ARRAY

MAP

MAP

STRUCT

STRUCT