Apache Flink için Realtime Compute, Object Storage Service (OSS) ve OSS üzerinde dağıtılan Hadoop Distributed File System (OSS-HDFS) hizmetlerinden veri okumanıza ve bu hizmetlere veri yazmanıza olanak tanır. OSS veya OSS-HDFS bağlayıcısının özelliklerini yapılandırdıktan sonra, Apache Flink için Realtime Compute otomatik olarak belirtilen yoldan verileri okuyarak bunları giriş akışı olarak kullanır. Ardından, Apache Flink için Realtime Compute hesaplama sonuçlarını belirtilen formatta OSS veya OSS-HDFS içindeki belirtilen yola yazar.
Ön Koşullar
-
Fully managed Flink hizmeti etkinleştirilmiş olmalıdır. Daha fazla bilgi için bkz. Apache Flink için Realtime Compute hizmetini etkinleştirme.
Fully managed Flink hizmetini etkinleştirdikten sonra, oluşturulan workspace 5 ila 10 dakika içinde Fully Managed Flink sekmesinde görünür.
-
SQL işi oluşturulmuş olmalıdır.
SQL işini oluştururken Ververica Runtime (VVR) 8.0.1 veya sonraki bir sürümüne sahip bir Flink hesaplama motoru seçin. Daha fazla bilgi için bkz. İş oluşturma.
Sınırlamalar
Verileri yalnızca aynı Alibaba Cloud hesabındaki OSS veya OSS-HDFS hizmetlerinden okuyabilir veya bu hizmetlere yazabilirsiniz.
OSS'ye veri yazarken Avro, CSV, JSON ve Raw gibi satır depolama formatlarında veri yazamazsınız. Daha fazla bilgi için bkz. FLINK-30635.
Yordam
-
SQL taslağı oluşturma sayfasına gidin.
Realtime Compute konsolu adresinde oturum açın.
Hedef Flink çalışma alanını bulun ve Actions sütununda Console seçeneğine tıklayın.
Sol gezinme bölmesinde yolunu izleyin.
-
SQL düzenleyicisinde Data Definition Language (DDL) ve Data Manipulation Language (DML) kodunu yazın.
Bu örnekte,
srcbucketpaketinindiryolundaki bir kaynak tablosundandestbucketpaketinintestyolundaki bir hedef tabloya veri yazılmaktadır.NotOSS-HDFS'den veri okumak için aşağıdaki kodu kullanmak istiyorsanız srcbucket ve destbucket paketleri için OSS-HDFS hizmetinin etkinleştirildiğinden emin olun.
CREATE TEMPORARY TABLE source_table ( `file.name` STRING NOT NULL, `file.path` STRING NOT NULL METADATA ) WITH ( 'connector'='filesystem', 'path'='oss://srcbucket/dir/', 'format'='parquet' ); CREATE TEMPORARY TABLE target_table( `name` STRING, `path` STRING ) with ( 'connector'='filesystem', 'path'='oss://destbucket/test/', 'format'='parquet' ); INSERT INTO target_table SELECT * FROM source_table ;file.path ve file.name gibi kaynak tablo tarafından desteklenen meta veri sütunları ve WITH parametrelerinin kullanımı hakkında daha fazla bilgi için bkz. Object Storage Service (OSS) bağlayıcısı.
Save seçeneğine tıklayın.
-
Advanced Check seçeneğine tıklayın.
Gelişmiş denetim özelliği, işin SQL semantiğini, ağ bağlantısını ve iş tarafından kullanılan tabloların meta verilerini inceler. Ayrıca, olası SQL tehditlerini ve ilgili optimizasyon önerilerini görüntülemek için sonuç alanında SQL Optimization seçeneğine tıklayabilirsiniz.
-
Deploy seçeneğine tıklayın.
İşi geliştirdikten ve gelişmiş denetimi tamamladıktan sonra işi üretim ortamına dağıtabilirsiniz.
-
(İsteğe bağlı) Bu adım yalnızca bir OSS-HDFS hizmetinden veri okuyorsanız gereklidir.
İşe tıklayın. Deployment Details sekmesinde, Running Parameter Configuration bölümünde OSS-HDFS hizmeti için AccessKey çiftini, uç noktayı ve diğer bilgileri aşağıda açıklandığı şekilde yapılandırın. Ardından Save seçeneğine tıklayın.
fs.oss.jindo.buckets: srcbucket;destbucket fs.oss.jindo.accessKeyId: LTAI**************** fs.oss.jindo.accessKeySecret: yourAccessKeySecret fs.oss.jindo.endpoint: cn-hangzhou.oss-dls.aliyuncs.comAşağıdaki tabloda yapılandırma öğeleri açıklanmaktadır.
Yapılandırma Öğesi
Açıklama
fs.oss.jindo.buckets
Kaynak tablo verilerinin bulunduğu paketin adı ve hedef tablo verilerinin yazılacağı paketin adı. Paket adlarını noktalı virgül (;) ile ayırın. Örnek:srcbucket;destbucket.
fs.oss.jindo.accessKeyId
Alibaba Cloud hesabınızın veya bir Resource Access Management (RAM) kullanıcısının AccessKey ID'si. AccessKey ID'yi nasıl alacağınız hakkında bilgi için bkz. RAM kullanıcısının AccessKey bilgilerini görüntüleme.
fs.oss.jindo.accessKeySecret
Mevcut bir AccessKey kullanın veya yeni bir tane oluşturun. Daha fazla bilgi için bkz. AccessKey çifti oluşturma. Not: AccessKey gizli anahtarının sızdırılma riskini azaltmak için gizli anahtar yalnızca oluşturulduğunda görüntülenir. Daha sonra görüntülenemez. Gizli anahtarı güvenli bir şekilde sakladığınızdan emin olun.
fs.oss.jindo.endpoint
OSS-HDFS hizmetinin uç noktası. Örnek: cn-hangzhou.oss-dls.aliyuncs.com. Job O&M sayfasında Start seçeneğine tıklayın ve işin Running durumuna geçmesini bekleyin.
-
OSS veya OSS-HDFS hedef tablosunun belirtilen depolama yoluna yazılan verileri görüntüleyin.
Veriler OSS'ye yazılıyorsa OSS konsolundaki dosya listesinin OSS sekmesinde görüntüleyebilirsiniz. Veriler OSS-HDFS'ye yazılıyorsa OSS konsolundaki dosya listesinin HDFS sekmesinde görüntüleyebilirsiniz.