全部產品
Search
文件中心

:Realtime ComputeFlink讀寫OSS或者OSS-HDFS

更新時間:Jun 08, 2024

阿里雲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

操作步驟

  1. 進入SQL作業建立頁面。

    1. 登入Realtime Compute控制台

    2. 單擊目標工作空間操作列下的控制台

    3. 在左側導覽列,單擊SQL開發

  2. 在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連接器

  3. 單擊儲存

  4. 單擊深度檢查

    深度檢查能夠檢查作業的SQL語義、網路連通性以及作業使用的表的中繼資料資訊。同時,您可以單擊結果地區的SQL最佳化,展開查看SQL風險問題提示以及對應的SQL最佳化建議。

  5. 單擊部署

    完成作業開發和深度檢查後,即可部署作業,將資料發布至生產環境。

  6. (可選)僅當您需要讀取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。

  7. 作業營運頁面,單擊啟動,等待作業進入運行狀態。

  8. 通過指定的OSS或者OSS-HDFS結果表格儲存體路徑path查看寫入的資料。

    寫入OSS時,您可以通過OSS控制台檔案清單下的OSS頁簽查看寫入的資料。寫入OSS-HDFS時,您可以通過OSS控制台檔案清單下的HDFS頁簽查看寫入的資料。