阿里雲Realtime ComputeFlink支援通過連接器讀寫OSS以及OSS-HDFS資料。通過配置OSS或者OSS-HDFS連接器的輸入屬性,Realtime ComputeFlink會自動從指定的路徑讀取資料,並將其作為Realtime ComputeFlink的輸入資料流,然後將計算結果按照指定格式寫入到OSS或者OSS-HDFS的指定路徑。
前提條件
已開通Flink全託管。具體操作,請參見開通Realtime ComputeFlink版。
開通Flink全託管後,Flink全託管頁簽將在5~10分鐘內顯示已建立完成的工作空間。
已建立SQL作業。
建立SQL作業時,Flink計算引擎需選擇VVR 8.0.1及以上版本。具體操作,請參見新增作業。
使用限制
僅支援讀寫相同帳號下的OSS或者OSS-HDFS服務的資料。
對於寫入OSS的情境,暫不支援寫Avro、CSV、JSON和Raw此類行存的格式,具體原因請參見FLINK-30635。
操作步驟
進入SQL作業建立頁面。
單擊目標工作空間操作列下的控制台。
在左側導覽列,單擊SQL開發。
在SQL作業編輯地區,編寫DDL和DML代碼。
將srcbucket中的dir路徑下的源表資料寫入destbucket的test路徑下的結果表。
說明如果您希望通過以下代碼讀取OSS-HDFS的資料,請確保srcbucket以及destbucket已開通OSS-HDFS服務。
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、file.name等)以及WITH參數的具體用法,請參見Object Storage Service連接器。
單擊儲存。
單擊深度檢查。
深度檢查能夠檢查作業的SQL語義、網路連通性以及作業使用的表的中繼資料資訊。同時,您可以單擊結果地區的SQL最佳化,展開查看SQL風險問題提示以及對應的SQL最佳化建議。
單擊部署。
完成作業開發和深度檢查後,即可部署作業,將資料發布至生產環境。
(可選)僅當您需要讀取OSS-HDFS服務的資料時,執行此步驟。
單擊作業,在部署詳情頁簽下的運行參數配置地區,按以下說明配置OSS-HDFS服務存取金鑰以及Endpoint等資訊,然後單擊儲存。
fs.oss.jindo.buckets: srcbucket;destbucket fs.oss.jindo.accessKeyId: LTAI******** fs.oss.jindo.accessKeySecret: KZo1******** fs.oss.jindo.endpoint: cn-hangzhou.oss-dls.aliyuncs.com
各配置項說明如下:
配置項
說明
fs.oss.jindo.buckets
填寫待讀取源表資料所在的Bucket名稱以及待寫入結果表資料所在的Bucket名稱。Bucket名稱之間以分號分隔,例如
srcbucket;destbucket
。fs.oss.jindo.accessKeyId
阿里雲帳號或者RAM使用者的AccessKey ID。擷取方法請參見查看RAM使用者的AccessKey資訊。
fs.oss.jindo.accessKeySecret
阿里雲帳號或者RAM使用者的AccessKey Secret。擷取方法請參見查看RAM使用者的AccessKey資訊。
fs.oss.jindo.endpoint
OSS-HDFS服務的Endpoint,例如cn-hangzhou.oss-dls.aliyuncs.com。
在作業營運頁面,單擊啟動,等待作業進入運行中狀態。
通過指定的OSS或者OSS-HDFS結果表格儲存體路徑path查看寫入的資料。
寫入OSS時,您可以通過OSS控制台檔案清單下的OSS頁簽查看寫入的資料。寫入OSS-HDFS時,您可以通過OSS控制台檔案清單下的HDFS頁簽查看寫入的資料。