Tüm Ürünler
Search
Belge Merkezi

MaxCompute:StarRocks Connector

Son Güncelleme:Oct 04, 2026

StarRocks Connector, External Catalog mekanizmasını kullanarak MaxCompute veri kaynaklarına sorunsuz erişim sağlar. Verileri içe aktarmadan veya harici tablolar oluşturmadan karmaşık SQL sorguları çalıştırabilirsiniz. Bu yaklaşım, veri analitiği verimliliğini artırırken operasyonel ve bakım (O&M) karmaşıklığını ve maliyetini azaltır. Bu konuda, StarRocks Connector kullanılarak MaxCompute kaynağına nasıl erişileceği açıklanmaktadır.

Arka plan bilgileri

StarRocks; çevrimiçi analitik işleme (OLAP) tabanlı çok boyutlu analiz, özel rapor oluşturma, gerçek zamanlı veri analizi ve ad hoc sorgular gibi kurumsal düzeydeki birçok analitik iş yükünü destekleyen, yeni nesil yüksek hızlı Massively Parallel Processing (MPP) veritabanıdır. StarRocks hakkında ayrıntılı bilgi için bkz. StarRocks Introduction. StarRocks, Catalog (veri kataloğu) özelliğini destekler. Bu özellik, hem dahili hem de harici verileri tek bir sistem içinde yönetmenize ve çeşitli harici kaynaklarda depolanan verilere kolayca erişip sorgulamanıza olanak tanır. Daha fazla bilgi için bkz. Catalog Overview.

Önkoşullar

  • Sürümü 3.2.3 veya üzeri olan bir StarRocks kümesi dağıttınız ve kümenin MaxCompute hizmetine düzgün erişebildiğinden emin oldunuz. StarRocks kümesinin nasıl dağıtılacağı hakkında daha fazla bilgi için bkz. Deploy a StarRocks shared-nothing cluster using Docker Compose.

  • Adanmış bir Data Transmission Service kaynak grubu (abonelik) satın alın veya açık depolama (kullandıkça öde) kaynaklarını etkinleştirin.

Sınırlamalar

  • Standart tablolar, bölümlenmiş tablolar, kümelenmiş tablolar, Delta Tables ve materyalize edilmiş görünümlerin okunmasını destekler. Harici tabloların veya mantıksal görünümlerin okunmasını desteklemez.

  • JSON veri türlerinin okunmasını desteklemez.

  • Yalnızca Schema özelliği devre dışı bırakılmış MaxCompute projelerini destekler. Schema hakkında ayrıntılı bilgi için bkz. Schema operations.

MaxCompute Catalog oluşturma

StarRocks üzerinde oturum açın ve StarRocks içinde bir MaxCompute Catalog oluşturun. External Catalogs hakkında daha fazla bilgi için bkz. Create External Catalog.

Sözdizimi

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

Parametre açıklamaları

  • Ortak parametreler

    Parameter

    Required

    Description

    catalog_name

    Yes

    MaxCompute Catalog adı. Aşağıdaki adlandırma kurallarına uyun:

    • Harflerden (a–z veya A–Z), rakamlardan (0–9) veya alt çizgilerden (_) oluşmalı ve bir harfle başlamalıdır.

    • Maksimum uzunluk 1023 karakterdir.

    • Catalog adları büyük/küçük harfe duyarlıdır.

    type

    Yes

    Veri kaynağı türü. Bu parametreyi odps olarak ayarlayın.

    comment

    No

    MaxCompute Catalog açıklaması.

    CatalogParams

    Yes

    StarRocks'un MaxCompute kaynağına erişmesi için kullanılan parametreler.

    ScanParams

    No

    StarRocks'un MaxCompute dosya depolama alanına erişmesi için kullanılan parametreler.

    CachingMetaParams

    No

    Meta veri önbelleğe alma ilkesini tanımlayan parametreler.

  • CatalogParams parametreleri

    Parameter

    Required

    Description

    odps.endpoint

    Yes

    MaxCompute hizmetinin bağlantı adresi. Uç noktayı, MaxCompute projesini oluştururken seçtiğiniz bölgeye ve ağ bağlantısı yöntemine göre yapılandırın. Bölgeye ve ağ türüne göre uç nokta değerleri için bkz. Endpoint.

    Önemli

    Şu anda yalnızca Alibaba Cloud VPC ağları desteklenmektedir.

    odps.project

    Yes

    MaxCompute proje adı. Proje adını almak için MaxCompute console üzerinde oturum açın ve Workspace > Projects sayfasına gidin.

    Not

    Standart modda bir çalışma alanı oluşturduysanız bu parametreyi yapılandırırken üretim ortamı ile geliştirme ortamı (_dev) proje adlarını birbirinden ayırt edin.

    odps.access.id

    Yes

    Alibaba Cloud hesabınızın veya Resource Access Management (RAM) kullanıcınızın AccessKey ID değeri. AccessKey ID değerini almak için AccessKey management page sayfasına gidin.

    odps.access.key

    Yes

    AccessKey ID değerine karşılık gelen AccessKey secret değeri.

    odps.tunnel.quota

    Yes

  • ScanParams parametreleri

    Parameter

    Required

    Description

    odps.split.policy

    No

    Veri taraması sırasında kullanılan parçalama stratejisi. Geçerli değerler:

    • size (varsayılan): Veri boyutuna göre parçalama yapar. Varsayılan değer: 256 MB.

    • row_offset: Satır sayısına göre parçalama yapar.

    Not

    Parçalama stratejisi, hesaplama motorundaki veri tarama eşzamanlılığını önemli ölçüde etkiler. Varsayılan strateji ihtiyaçlarınızı karşılamıyorsa row_offset stratejisini seçin ve odps.split.row.count parametresini kullanarak ayarlayın.

    odps.split.row.count

    No

    Parça başına maksimum satır sayısı. Varsayılan değer: 4194304. Değer aralığı: 0'dan büyük.

    Not

    Bu parametreyi yalnızca odps.split.policy değeri row_offset olarak ayarlandığında yapılandırın.

  • CachingMetaParams parametreleri

    Parameter

    Required

    Description

    odps.cache.table.enable

    No

    Tablo meta verilerinin önbelleğe alınıp alınmayacağı. Geçerli değerler:

    • true (varsayılan): Tablo meta verisi önbelleğe almayı etkinleştirir. Bu işlem, meta veri getirme ve güncelleme hızını artırır; sık DDL işlemleri içeren senaryolar, geniş çok kullanıcılı ortamlar veya karmaşık sorgu optimizasyonu durumları için uygundur.

    • false: Tablo meta verisi önbelleğe almayı devre dışı bırakır. Önbellek kaynakları sınırlı olduğundan ve önbelleğe aşırı bağımlılık fazla bellek tüketebileceğinden nadir sorgular veya meta verileri sık değişen tablolar için önbelleğe almayı devre dışı bırakın.

    odps.cache.table.expire

    No

    Önbelleğe alınan tablo meta verilerinin otomatik olarak temizlenmeden önce geçerli olduğu süre aralığı (saniye cinsinden). Varsayılan değer: 86400 (24 saat). Değer aralığı: 0'a eşit veya 0'dan büyük.

    odps.cache.table.size

    No

    Önbelleğe alınacak tablo meta verisi girdisi sayısı. Varsayılan değer: 1000.

    odps.cache.partition.enable

    No

    Hedef tablo altındaki tüm bölümlerin meta verilerinin önbelleğe alınıp alınmayacağı. Geçerli değerler:

    • true (varsayılan): Hedef tablo altındaki tüm bölümlerin meta verilerinin önbelleğe alınmasını etkinleştirir.

    • false: Önbelleğe almayı devre dışı bırakır. Tüm bölümlerin meta verileri önbelleğe alınmaz.

    Not

    Tablo bölümlenmemişse odps.cache.partition.enable parametresi herhangi bir etkiye sahip olmaz.

    odps.cache.partition.expire

    No

    Önbelleğe alınan bölüm meta verilerinin otomatik olarak temizlenmeden önce geçerli olduğu süre aralığı (saniye cinsinden). Varsayılan değer: 86400 (24 saat). Değer aralığı: 0'a eşit veya 0'dan büyük.

    odps.cache.partition.size

    No

    Meta verileri önbelleğe alınabilen bölümlenmiş tablo sayısı. Varsayılan değer: 1000.

    odps.cache.table-name.enable

    No

    MaxCompute projesindeki tüm tablo adlarının önbelleğe alınıp alınmayacağı. Geçerli değerler:

    • true: MaxCompute projesindeki tüm tablo adlarının önbelleğe alınmasını etkinleştirir.

    • false (varsayılan): MaxCompute projesindeki tüm tablo adlarının önbelleğe alınmasını devre dışı bırakır.

    odps.cache.table-name.expire

    No

    MaxCompute projesindeki önbelleğe alınan tablo adı bilgilerinin otomatik olarak temizlenmeden önce geçerli olduğu süre aralığı (saniye cinsinden). Varsayılan değer: 86400 (24 saat). Değer aralığı: 0'a eşit veya 0'dan büyük.

Örnek

Aşağıdaki örnekte, MaxCompute projesi mf_mc_bj kullanılarak odps_catalog adlı bir MaxCompute Catalog oluşturulmaktadır.

-- Create 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"
);

MaxCompute kaynağına erişim

  1. Hedef Catalog ve MaxCompute projesine geçiş yapın. Bu örnekte odps_catalog ve mf_mc_bj kullanılmaktadır.

    • Sözdizimi

      • Yöntem 1

        -- Specify Catalog
        SET CATALOG <catalog_name>;
        -- Specify MaxCompute project
        USE <project_name>;
      • Yöntem 2

        USE <catalog_name>.<project_name>;
    • Örnek

      SET CATALOG odps_catalog;
      USE mf_mc_bj;
  2. Verileri sorgulayın. Bu örnekte src tablosu kullanılmaktadır.

SELECT * FROM src LIMIT 10;

Sonuç aşağıdaki gibidir.

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

Diğer işlemler

MaxCompute Catalog görüntüleme

  • Geçerli StarRocks kümesindeki tüm Catalog listesini görüntüleyin.

    SHOW CATALOGS;

    Sonuç aşağıdaki gibidir.

    +-----------------+----------+------------------------------------------------------------------+
    | Catalog         | Type     | Comment                                                          |
    +-----------------+----------+------------------------------------------------------------------+
    | default_catalog | Internal | An internal catalog contains this cluster‘s self-managed tables. |
    | odps_catalog    | Odps     | NULL                                                             |
    +-----------------+----------+------------------------------------------------------------------+
  • Belirli bir Catalog için CREATE ifadesini görüntüleyin.

    SHOW CREATE CATALOG odps_catalog;

    Sonuç aşağıdaki gibidir.

    +--------------+--------------------------------------------------------------------------+
    | 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"
                    )|
    +-----------------------------------------------------------------------------------------+

MaxCompute tablo şemasını görüntüleme

  • Bir MaxCompute tablo şemasını tanımlayın.

    • Sözdizimi

      DESC[RIBE] <catalog_name>.<database_name>.<table_name>;
    • Parametre açıklamaları

      • catalog_name: zorunludur. Catalog adı.

      • database_name: zorunludur. Hedef Catalog altındaki MaxCompute proje adı.

      • table_name: zorunludur. Hedef MaxCompute projesi altındaki tablo adı.

    • Örnek

      DESC odps_catalog.mf_mc_bj.src;

      Sonuç aşağıdaki gibidir.

      +-------+------+------+-------+---------+-------+
      | Field | Type | Null | Key   | Default | Extra |
      +-------+------+------+-------+---------+-------+
      | id    | INT  | Yes  | false | NULL    |       |
      | a     | INT  | Yes  | false | NULL    |       |
      +-------+------+------+-------+---------+-------+
  • MaxCompute tablo şemasını ve CREATE TABLE ifadesini görüntüleyin.

    • Sözdizimi

      SHOW CREATE TABLE <catalog_name>.<database_name>.<table_name>;
    • Parametre açıklamaları

      • catalog_name: zorunludur. Catalog adı.

      • database_name: zorunludur. Hedef Catalog altındaki MaxCompute proje adı.

      • table_name: zorunludur. Hedef MaxCompute projesi altındaki tablo adı.

    • Örnek

      SHOW CREATE TABLE odps_catalog.mf_mc_bj.src;

      Sonuç aşağıdaki gibidir.

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

MaxCompute Catalog silme

Bir MaxCompute Catalog silmek için aşağıdaki komutu çalıştırın.

DROP CATALOG odps_catalog;

Maliyete Dayalı İyimserleştirici (CBO) istatistik toplama

StarRocks'un mevcut sürümü, MaxCompute tablo istatistiklerinin otomatik olarak toplanmasını desteklemez. İstatistik toplama görevini manuel olarak oluşturmak için aşağıdaki komutu çalıştırın.

-- Replace <table_name> with the MaxCompute table name
ANALYZE TABLE <table_name>;
Not

StarRocks CBO, çeşitli istatistiklere dayalı olarak maliyet tahmini yapabilir ve on binlerce yürütme planı arasından en düşük maliyetli yürütme planını seçerek karmaşık sorguların verimliliğini ve performansını artırır. Daha fazla bilgi için bkz. Gather statistics for CBO.

Meta veri önbelleğini manuel olarak yenileme

StarRocks, sorgu performansını artırmak için varsayılan olarak MaxCompute meta verilerini önbelleğe alır. Bir tablo şemasını değiştirdikten veya tablo verilerini güncelledikten sonra StarRocks'un en son meta verileri hemen alabilmesini sağlamak için tablonun meta verilerini manuel olarak yenileyin.

-- Replace <table_name> with the MaxCompute table name
REFRESH EXTERNAL TABLE <table_name>;

SSS

Veri okuma sırasında hata: Your slot quota is exceeded.

  • Sorun Analizi

    Bu hata, okunan veri hacmi Data Transmission Service kotasını aştığında ortaya çıkar. Okuma işlemi sırasında StarRocks tabloyu birden çok parçaya böler ve bunları BE düğümlerine dağıtır; BE düğümleri ise verileri eşzamanlı olarak okumak için iş parçacığı havuzlarını kullanır. Okuma sırasında kaplanan yuva sayısı genellikle şu şekildedir: Max(number of shards, number of BEs × BE thread pool concurrency).

  • Çözüm

    • Daha yüksek eşzamanlılık sağlayan adanmış bir Data Transmission Service kaynak grubu satın alın. Talimatlar için bkz. Purchase and use dedicated Data Transmission Service resource groups.

    • ScanParams parametrelerini yapılandırarak parça sayısını ayarlayın. row_offset parçalama stratejisini kullanıyorsanız odps.split.row.count parametresini de artırın.

    • StarRocks BE iş parçacığı havuzu parametrelerini scanner_thread_pool_queue_size ve scanner_thread_pool_thread_num değiştirin. Ayrıntılar için bkz. Introduction to StarRocks.

Ek: Tür eşlemesi

MaxCompute field type

StarRocks field type

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

Önemli

StarRocks'ta TIMESTAMP türü bulunmamaktadır. TIMESTAMP verileri okunurken DATETIME olarak işlenir; bu da hassasiyet kaybına neden olur.

ARRAY

ARRAY

MAP

MAP

STRUCT

STRUCT