Tüm Ürünler
Search
Belge Merkezi

MaxCompute:Realtime Compute for Apache Flink kullanarak Apache Paimon harici tablosu oluşturun

Son Güncelleme:Oct 10, 2026

MaxCompute, bir Apache Paimon harici tablosu oluşturmanıza ve bu harici tablo ile Object Storage Service (OSS) üzerinde depolanan bir Apache Paimon tablosunun dizini arasında eşleme kurmanıza olanak tanır. Bu sayede, OSS'de depolanan Apache Paimon tablosundaki verilere erişmek için MaxCompute'teki Apache Paimon harici tablosunu kullanabilirsiniz. Bu konuda, Realtime Compute for Apache Flink kullanarak Apache Paimon harici tablosu oluşturma ve MaxCompute'te Apache Paimon harici tablosu kullanarak verileri sorgulama işlemleri açıklanmaktadır.

Arka plan bilgileri

Apache Paimon, yüksek aktarım hızıyla yazma ve düşük gecikme süresiyle sorgulama özellikleri sunan birleşik bir akış ve toplu iş göl depolama biçimidir. Spark, Hive ve Trino gibi yaygın hesaplama motorları, Realtime Compute for Apache Flink ve E-MapReduce içinde Paimon ile sorunsuz bir şekilde entegre olur. Apache Paimon sayesinde, Object Storage Service (OSS) üzerinde hızla bir veri gölü oluşturabilir ve bunu veri gölü analitiği için MaxCompute'e bağlayabilirsiniz. Apache Paimon hakkında daha fazla bilgi için bkz. Apache Paimon belgeleri.

Ön koşullar

  • İşlemleri gerçekleştirmek için kullandığınız Alibaba Cloud hesabının MaxCompute tabloları oluşturmak üzere CreateTable iznine sahip olması gerekir. Tablo izinleri hakkında daha fazla bilgi için bkz. MaxCompute izinleri.

  • Bir MaxCompute projesi oluşturulmuştur. Daha fazla bilgi için bkz. Proje oluşturma.

  • OSS etkinleştirilmiştir. Bir paket ve bir dosya dizini oluşturulmuştur. Daha fazla bilgi için bkz. Paket oluşturma.

    Not

    MaxCompute yalnızca belirli bölgelerde dağıtılır. Bölge arası veri bağlantısı sorunlarını önlemek için MaxCompute projenizle aynı bölgede bulunan bir paket kullanmanızı öneririz.

  • Fully managed Flink etkinleştirilmiştir. Daha fazla bilgi için bkz. Çalışma alanı oluşturma.

Dikkat edilmesi gerekenler

  • MaxCompute, Apache Paimon harici tablolarından yalnızca veri okuyabilir; bu tablolara veri yazamaz veya Apache Paimon harici tablolarının şema değişikliklerini otomatik olarak senkronize edemez.

  • Apache Paimon, şema özelliği etkinleştirilmiş MaxCompute projelerini desteklemez.

  • Apache Paimon harici tabloları kümeleme niteliğini desteklemez.

  • Apache Paimon harici tabloları, geçmiş sürümlerin verilerini sorgulama ve geriye dönük inceleme gibi özellikleri desteklemez.

1. Adım: Apache Paimon eklentisini MaxCompute projenize yükleyin

Paimon eklentisini MaxCompute projenize yüklemek için aşağıdaki yöntemlerden birini kullanın.

MaxCompute istemcisini (odpscmd) kullanma

MaxCompute istemcisi (odpscmd) aracılığıyla MaxCompute projenize erişin ve paimon_maxcompute_connector.jar dosyasını projeye yüklemek için aşağıdaki komutu çalıştırın.

ADD JAR <path_to_paimon_maxcompute_connector.jar>;

DataWorks konsolunu kullanma

  1. DataWorks konsoluna giriş yapın. Sol gezinme bölmesinde Workspace öğesini tıklayın. Hedef çalışma alanınızın Actions sütununda Quick Access > DataStudio seçeneğini belirleyin.

  2. Data Development sayfasında Create öğesini tıklayın ve New Resource > JAR seçeneğini belirleyin.

  3. New resource iletişim kutusunda, paimon_maxcompute_connector.jar dosyasını yüklemek için parametreleri yapılandırın ve ardından Create öğesini tıklayın. Kaynak oluşturma hakkında daha fazla bilgi için bkz. 1. Adım: Kaynak oluşturma veya yükleme.

    Aşağıdaki parametreleri ayarlayın: Engine Type için MaxCompute seçin; Engine Instance için glz_mc China (Beijing) seçin; Schema için default seçin; Resource Type için JAR seçin ve Upload as ODPS Resource seçeneğini işaretleyin.

  4. Kaynak oluşturulduktan sonra, kaynağın yapılandırma sekmesindeki araç çubuğunda bulunan image.png simgesini tıklayarak kaynağı geliştirme ortamına gönderin.

2. Adım: Realtime Compute for Apache Flink kullanarak Apache Paimon harici tablosu oluşturun

Bu konudaki en iyi uygulama örneği Realtime Compute for Apache Flink temel alınarak gerçekleştirilir. Realtime Compute for Apache Flink, Apache Paimon dosyalarının verilerini OSS'ye yazar. Realtime Compute for Apache Flink konsolunda bir Apache Paimon katalog oluşturulur ve bu katalog içinde, MaxCompute'in OSS'deki Apache Paimon dosyalarının verilerini okumasına olanak tanıyan bir Apache Paimon tablosu oluşturulur. Ardından MaxCompute, OSS'de depolanan Apache Paimon verilerini okumak için Apache Paimon tablosunu harici tablo olarak kullanır.

  1. Realtime Compute for Apache Flink konsoluna giriş yapın ve bir Script oluşturun. Daha fazla bilgi için bkz. Sorgu Betikleri.

  2. Betik düzenleyicide aşağıdaki katalog tanımını ve parametre değerlerini girin. Kodu seçin ve Run öğesini tıklayın.

    CREATE CATALOG `<catalog name>` WITH (
     'type' = 'paimon',
      'metastore' = 'maxcompute',
      'warehouse' = '<warehouse>',
      'maxcompute.endpoint' = '<maxcompute.endpoint>',
      'maxcompute.project' = '<maxcompute.project>',
      'maxcompute.accessid' = '<maxcompute.accessid>',
      'maxcompute.accesskey' = '<maxcompute.accesskey>',
      'maxcompute.oss.endpoint' = '<maxcompute.oss.endpoint>',
      'fs.oss.endpoint' = '<fs.oss.endpoint>',
      'fs.oss.accessKeyId' = '<fs.oss.accessKeyId>',
      'fs.oss.accessKeySecret' = '<fs.oss.accessKeySecret>'
    );

    Aşağıdaki tabloda kodda yer alan parametreler açıklanmaktadır.

    Parametre

    Zorunlu

    Açıklama

    catalog name

    Evet

    Apache Paimon kataloğunun adı. Ad yalnızca harf içerebilir. Bu konuda katalog adı catalogname olarak belirtilmiştir.

    type

    Evet

    Katalog türü. Değer paimon olarak ayarlanmalıdır.

    metastore

    Evet

    Meta veri depolama türü. Değer maxcompute olarak ayarlanmalıdır.

    warehouse

    Evet

    OSS'deki veri ambarı dizini, oss://<bucket>/<object> biçimindedir.

    • bucket: Oluşturduğunuz OSS paketinin adı.

    • object: Verilerinizin depolandığı yol.

    Paket ve nesne adlarınızı OSS konsolunda görüntüleyebilirsiniz.

    maxcompute.endpoint

    Evet

    MaxCompute hizmetinin uç noktası.

    Bu parametreyi, MaxCompute projesini oluştururken seçtiğiniz bölgeye ve ağ bağlantısı türüne göre yapılandırmanız gerekir. Farklı bölgeler ve ağ türlerine karşılık gelen uç noktalar hakkında daha fazla bilgi için bkz. Uç Noktalar.

    maxcompute.project

    Evet

    MaxCompute projesinin adı.

    Şema özelliği etkinleştirilmiş MaxCompute projeleri desteklenmez.

    maxcompute.accessid

    Evet

    MaxCompute üzerinde izinlere sahip olan Alibaba Cloud hesabının veya RAM kullanıcısının AccessKey ID'si.

    AccessKey ID'yi AccessKey Management sayfasından edinebilirsiniz.

    maxcompute.accesskey

    Evet

    AccessKey ID'ye karşılık gelen AccessKey secret.

    maxcompute.oss.endpoint

    Hayır

    MaxCompute'un eriştiği OSS uç noktası. Bu parametreyi yapılandırmazsanız varsayılan olarak fs.oss.endpoint parametresinin değeri kullanılır.

    Önemli

    OSS paketi, MaxCompute projesiyle aynı bölgede bulunur. maxcompute.oss.endpoint parametresini bir dahili uç noktaya ayarlamanızı öneririz. Her bölgedeki farklı ağ türlerine ait OSS uç noktaları hakkında daha fazla bilgi için bkz. Bölgeler ve uç noktalar.

    fs.oss.endpoint

    Hayır

    OSS uç noktası.

    warehouse parametresiyle belirtilen OSS paketi, Realtime Compute for Apache Flink çalışma alanıyla aynı bölgede değilse veya başka bir Alibaba Cloud hesabındaki bir OSS paketi kullanılıyorsa bu parametre gereklidir.

    Not

    Uç noktayı, OSS paketini oluştururken seçtiğiniz bölgeye ve ağ bağlantısı yöntemine göre yapılandırmanız gerekir. Farklı bölgeler ve ağ türlerine karşılık gelen uç noktalar hakkında daha fazla bilgi için bkz. Bölgeler ve uç noktalar.

    fs.oss.accessKeyId

    Hayır

    OSS üzerinde okuma ve yazma izinlerine sahip olan Alibaba Cloud hesabının veya RAM kullanıcısının AccessKey ID'si.

    warehouse parametresiyle belirtilen OSS paketi, Realtime Compute for Apache Flink çalışma alanıyla aynı bölgede değilse veya başka bir Alibaba Cloud hesabındaki bir OSS paketi kullanılıyorsa bu parametre gereklidir.

    AccessKey ID'yi AccessKey Management sayfasından edinebilirsiniz.

    fs.oss.accessKeySecret

    Hayır

    AccessKey ID'ye karşılık gelen AccessKey secret.

    warehouse parametresiyle belirtilen OSS paketi, Realtime Compute for Apache Flink çalışma alanıyla aynı bölgede değilse veya başka bir Alibaba Cloud hesabındaki bir OSS paketi kullanılıyorsa bu parametre gereklidir.

  3. Bir Apache Paimon tablosu oluşturun.

    1. test_tbl adlı bir tablo oluşturun.

      Script sekmesinde, betik düzenleyicide aşağıdaki ifadeyi çalıştırın. Result sekmesinde bir tamamlanma mesajı görünmesini bekleyin. Bu örnekte test_tbl adlı bir tablo kullanılmaktadır.

      CREATE TABLE `catalogname`.`default`.test_tbl (
       dt STRING,
       id BIGINT,
       data STRING,
       PRIMARY KEY (dt, id) NOT ENFORCED
      ) PARTITIONED BY (dt);
    2. test_tbl tablosuna veri yazın.

      Drafts sayfasında aşağıdaki ifadeleri içeren bir SQL işi oluşturun. Ardından işi dağıtın ve çalıştırın. SQL işleri oluşturma ve çalıştırma hakkında daha fazla bilgi için bkz. İş geliştirme genel bakışı.

      -- The checkpoint interval is set to 10s to commit data faster.
      SET 'execution.checkpointing.interval' = '10s';
      INSERT INTO `catalogname`.`default`.test_tbl VALUES ('2023-04-21', 1, 'AAA'), ('2023-04-21', 2, 'BBB'), ('2023-04-22', 1, 'CCC'), ('2023-04-22', 2, 'DDD');
      Not
      • Apache Paimon sonuç tablosu, her kontrol noktası tamamlandığında verileri kaydeder.

      • Üretim ortamında, kontrol noktası aralığı ve kontrol noktaları arasındaki minimum aralık, gecikme süresine ilişkin iş gereksinimlerinize bağlı olarak değişir. Genellikle 1 ila 10 dakika arasında ayarlanır.

      • SQL taslağının motor sürümü vvr-8.0.5-flink-1.17 veya üzeri olmalıdır.

3. Adım: MaxCompute ile verileri okuyun

  1. Yerel istemci (odpscmd) kullanarak bağlanma üzerinden veya MaxCompute SQL deyimlerini yürütebilen başka bir araç kullanarak aşağıdaki komutları çalıştırın:

    SET odps.sql.common.table.planner.ext.hive.bridge = true;
    SET odps.sql.hive.compatible = true;
  2. Apache Paimon harici tablosu test_tbl üzerinden verileri sorgulamak için aşağıdaki komutu çalıştırın:

    SELECT * FROM test_tbl WHERE dt = '2023-04-21';

    Aşağıdaki sonuç döndürülür:

    +------------+------------+------------+
    | id | data | dt |
    +------------+------------+------------+
    | 1 | AAA | 2023-04-21 |
    | 2 | BBB | 2023-04-21 |
    +------------+------------+------------+