全部产品
Search
文档中心

Object Storage Service:Gunakan Realtime Compute for Apache Flink untuk membaca dari atau menulis ke OSS atau OSS-HDFS

更新时间:Dec 21, 2025

Realtime Compute for Apache Flink memungkinkan Anda membaca data dari dan menulis data ke Object Storage Service (OSS) serta Hadoop Distributed File System (HDFS) yang diimplementasikan di atas OSS (OSS-HDFS). Setelah mengonfigurasi properti konektor OSS atau OSS-HDFS, Realtime Compute for Apache Flink secara otomatis membaca data dari path yang ditentukan sebagai aliran input, lalu menuliskan hasil komputasi dalam format yang ditentukan ke path yang ditetapkan di OSS atau OSS-HDFS.

Prasyarat

  • Fully managed Flink harus diaktifkan. Untuk informasi selengkapnya, lihat Aktifkan Realtime Compute for Apache Flink.

    Setelah Anda mengaktifkan fully managed Flink, workspace yang dibuat akan muncul di tab Fully Managed Flink dalam waktu 5 hingga 10 menit.

  • Pekerjaan SQL telah dibuat.

    Saat membuat pekerjaan SQL, pilih mesin komputasi Flink dengan Ververica Runtime (VVR) versi 8.0.1 atau yang lebih baru. Untuk informasi selengkapnya, lihat Buat pekerjaan.

Batasan

  • Anda hanya dapat membaca data dari atau menulis data ke layanan OSS atau OSS-HDFS yang berada dalam akun Alibaba Cloud yang sama.

  • Saat menulis data ke OSS, Anda tidak dapat menggunakan format penyimpanan baris (row store), seperti Avro, CSV, JSON, dan Raw. Untuk informasi selengkapnya, lihat FLINK-30635.

Prosedur

  1. Buka halaman pembuatan draft SQL.

    1. Masuk ke Konsol manajemen Realtime Compute for Apache Flink.

    2. Temukan workspace yang dituju, lalu klik Console pada kolom Actions.

      Konsol pengembangan akan muncul.

    3. Pada bilah navigasi kiri, pilih Development > ETL.

  2. Di editor SQL, tulis kode Data Definition Language (DDL) dan Data Manipulation Language (DML).

    Contoh ini menulis data dari tabel sumber di path `dir` bucket `srcbucket` ke tabel sink di path `test` bucket `destbucket`.

    Catatan

    Jika Anda ingin menggunakan kode berikut untuk membaca data dari OSS-HDFS, pastikan layanan OSS-HDFS telah diaktifkan untuk bucket srcbucket dan destbucket.

    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 ;

    Untuk informasi selengkapnya tentang kolom metadata yang didukung oleh tabel sumber, seperti file.path dan file.name, serta penggunaan parameter WITH, lihat Konektor Object Storage Service (OSS).

  3. Klik Save.

  4. Klik Advanced Check.

    Fitur advanced check memeriksa semantik SQL pekerjaan, konektivitas jaringan, dan metadata tabel yang digunakan oleh pekerjaan tersebut. Anda juga dapat mengklik SQL Optimization di area hasil untuk melihat potensi ancaman SQL dan saran optimasi yang sesuai.

  5. Klik Deploy.

    Setelah mengembangkan pekerjaan dan menyelesaikan advanced check, Anda dapat menyebarluaskan pekerjaan tersebut ke lingkungan produksi.

  6. (Opsional) Langkah ini hanya diperlukan jika Anda membaca data dari layanan OSS-HDFS.

    Klik pekerjaan tersebut. Pada tab Deployment Details, di bagian konfigurasi Running Parameter Configuration, konfigurasikan pasangan AccessKey, Titik akhir (Endpoint), dan informasi lainnya untuk layanan OSS-HDFS seperti yang dijelaskan di bawah. Lalu, klik Save.

    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.com

    Tabel berikut menjelaskan item konfigurasi tersebut.

    Configuration Item

    Description

    fs.oss.jindo.buckets

    Nama bucket tempat data tabel sumber berada dan nama bucket tempat data tabel sink akan ditulis. Pisahkan nama bucket dengan titik koma (;). Contoh: srcbucket;destbucket.

    fs.oss.jindo.accessKeyId

    ID AccessKey dari Akun Alibaba Cloud Anda atau Pengguna Resource Access Management (RAM). Untuk informasi cara mendapatkan ID AccessKey, lihat Lihat Informasi AccessKey Pengguna RAM.

    fs.oss.jindo.accessKeySecret

    Gunakan AccessKey yang sudah ada atau buat yang baru. Untuk informasi selengkapnya, lihat Buat Pasangan AccessKey. Catatan: Untuk mengurangi risiko kebocoran Rahasia AccessKey, rahasia tersebut hanya ditampilkan saat Anda membuatnya. Anda tidak dapat melihatnya lagi setelah itu. Pastikan untuk menyimpannya dengan aman.

    fs.oss.jindo.endpoint

    Titik akhir (endpoint) layanan OSS-HDFS. Contoh: cn-hangzhou.oss-dls.aliyuncs.com.

  7. Pada halaman Job O&M, klik Start, lalu tunggu hingga pekerjaan memasuki status Running.

  8. Lihat data yang ditulis ke path penyimpanan yang ditentukan dari tabel sink OSS atau OSS-HDFS.

    Jika data ditulis ke OSS, Anda dapat melihatnya di tab OSS pada daftar file di Konsol OSS. Jika data ditulis ke OSS-HDFS, Anda dapat melihatnya di tab HDFS pada daftar file di Konsol OSS.