Flink geliştirme konsolunda bir DLF kataloğunu kaydederek Alibaba Cloud Data Lake Formation (DLF) içindeki Iceberg tablolarına erişmek için Realtime Compute for Apache Flink kullanın. Katalog yapılandırıldıktan sonra Iceberg veritabanlarını ve tablolarını doğrudan SQL kullanarak yönetebilirsiniz.
Ön koşullar
Başlamadan önce aşağıdakilere sahip olduğunuzdan emin olun:
Ververica Runtime (VVR) 11,1 veya sonraki bir sürümü çalıştıran bir Flink çalışma alanı
Flink çalışma alanınızla aynı bölgede bulunan bir DLF kataloğu. Bkz. DLF ile hızlı başlangıç
Sınırlamalar
| Özellik | Destekleniyor mu? | Notlar |
|---|---|---|
| Iceberg kataloğu oluşturma | Evet | VVR 11,1+ gereklidir; yalnızca DLF katalogları desteklenir |
| Veritabanı oluşturma | Evet | Otomatik olarak bir default veritabanı oluşturulur; default veritabanı silinemez |
| Tablo oluşturma | Evet | — |
| Tablo şemasını değiştirme | Evet | Yeniden adlandırma, sütun ekleme/kaldırma, sütun sırasını ve açıklamasını değiştirme |
| Tabloyu silme | Evet | — |
| Kataloğu silme | Evet | Yalnızca Flink'teki katalog kaydını kaldırır; DLF'deki verileri etkilemez |
Iceberg DLF kataloğu oluşturun
Flink'te bir Iceberg kataloğu oluşturmak, mevcut DLF kataloğunuzla bir eşleme kaydeder. Bu işlem DLF'deki verileri oluşturmaz veya değiştirmez. Iceberg REST aracılığıyla DLF kataloğunda oluşturulan tüm tablolar Iceberg tablolarıdır.
Realtime Compute for Apache Flink konsoluna giriş yapın.
Çalışma alanınızın Actions sütununda Console seçeneğine tıklayın.
Sol gezinme menüsünde Development > Scripts yolunu izleyin ve yeni bir betik oluşturun.
-
SQL düzenleyicisine aşağıdaki ifadeyi yapıştırın. Sağ alt köşede Environment seçeneğine tıklayın ve VVR 11,2,0 veya sonraki bir sürümü çalıştıran bir oturum kümesi seçin. Ardından ifadeyi çalıştırın.
CREATE CATALOG `catalog_name` WITH ( 'type' = 'iceberg', 'catalog-type' = 'rest', 'token.provider' = 'dlf', 'uri' = 'http://cn-hangzhou-vpc.dlf.aliyuncs.com/iceberg', 'warehouse' = 'iceberg_test', 'rest.signing-region' = 'cn-hangzhou', 'io-impl' = 'org.apache.iceberg.rest.DlfFileIO' );uri,warehouseverest.signing-regiondeğerlerini kendi değerlerinizle değiştirin. Bölgeye göre kullanılabilir URI listesini görmek için bkz. Iceberg REST uç noktası. Aşağıdaki tabloda her bir seçenek açıklanmaktadır.Seçenek Gerekli mi? Açıklama Örnek typeEvet icebergolarak ayarlayın.icebergcatalog-typeEvet restolarak ayarlayın.resttoken.providerEvet dlfolarak ayarlayın. DLF tabanlı kimlik doğrulamayı yapılandırır.dlfuriEvet DLF kataloğunuz için Iceberg REST uç noktası. URI bölgeye göre değişir. Bkz. Iceberg REST uç noktası. http://ap-southeast-1-vpc.dlf.aliyuncs.com/icebergwarehouseEvet DLF kataloğunuzun adı. iceberg_testrest.signing-regionEvet DLF'nin dağıtıldığı bölge kimliği. cn-hangzhouio-implEvet org.apache.iceberg.rest.DlfFileIOolarak ayarlayın.org.apache.iceberg.rest.DlfFileIO
Katalog görüntüleyin veya silin
Realtime Compute for Apache Flink konsolunda, çalışma alanınızın Actions sütununda Console seçeneğine tıklayın.
-
Data Management sayfasına gidin ve Catalog List bölümünü açın.
Bir katalogdaki veritabanlarını ve tabloları görüntülemek için katalog adının yanındaki View seçeneğine tıklayın.
-
Bir kataloğu silmek için Actions sütunundaki Delete seçeneğine tıklayın.
ÖnemliKatalog silindiğinde yalnızca Flink projenizdeki Data Management bölümünden kaydı kaldırılır. DLF'deki temel Iceberg veri dosyaları etkilenmez. Tabloları yeniden kullanmak için kataloğu tekrar kaydedin.
Alternatif olarak, Veri Sorgulama sayfasında aşağıdaki ifadeyi çalıştırın:
DROP CATALOG <catalog_name>;
Iceberg veritabanlarını yönetin
Aşağıdaki ifadeleri Veri Sorgulama sayfasında çalıştırın: kodu seçin ve Run seçeneğine tıklayın.
Veritabanı oluşturun
Bir Iceberg kataloğu oluşturduğunuzda otomatik olarak default adlı bir veritabanı oluşturulur. Başka bir veritabanı eklemek için:
-- Replace my-catalog with your catalog name.
USE CATALOG `my-catalog`;
-- Replace my_db with the database name you want to create.
CREATE DATABASE `my_db`;
Veritabanını silin
Bir DLF kataloğundaki default veritabanı silinemez.
-- Replace my-catalog with your catalog name.
USE CATALOG `my-catalog`;
-- Delete a database only if it is empty.
DROP DATABASE `my_db`;
-- Delete a database and all tables inside it.
DROP DATABASE `my_db` CASCADE;
Iceberg tablolarını yönetin
Bir Iceberg kataloğu kaydedildikten sonra, Veri Tanımlama Dili (DDL) bildirmeden bir işte bu kataloğun tablolarına başvurabilirsiniz. Tam üç parçalı adı <catalog>.<database>.<table> şeklinde kullanın veya önce USE CATALOG ve USE <database> ifadelerini çalıştırıp ardından tabloya yalnızca adıyla başvurun.