全部产品
Search
文档中心

Realtime Compute for Apache Flink:Kelola variabel

更新时间:Jul 02, 2025

Anda dapat menggunakan variabel untuk menghindari risiko keamanan yang disebabkan oleh informasi seperti pasangan AccessKey dan kata sandi dalam teks biasa. Dengan variabel, Anda tidak perlu menulis ulang kode atau nilai yang sama berulang kali, sehingga menyederhanakan pengelolaan konfigurasi. Variabel dapat direferensikan dalam berbagai skenario, seperti pengembangan draf SQL, penyebaran JAR atau Python, konfigurasi output log, serta konfigurasi parameter berbasis UI. Topik ini menjelaskan cara membuat dan menggunakan variabel dalam berbagai skenario.

Informasi latar belakang

Setiap variabel memiliki nama dan nilai. Nama mencerminkan arti dari nilai tersebut dan dapat disesuaikan, sedangkan nilai adalah data aktualnya. Realtime Compute for Apache Flink mendukung variabel penyebaran dan variabel namespace. Bagian berikut menjelaskan perbedaan di antara keduanya:

  • Variabel Penyebaran: Variabel ini hanya dapat digunakan dalam satu penyebaran. Contohnya, mereka dapat digunakan dalam draf SQL untuk ekstraksi, transformasi, dan pemuatan (ETL) atau sebagai parameter input dalam fungsi Main dari penyebaran JAR atau Python, dalam format ${Nama variabel}. Untuk informasi lebih lanjut tentang cara menggunakan variabel penyebaran, lihat bagian Variabel Penyebaran dalam topik ini.

  • Variabel Namespace: Variabel ini dapat digunakan dalam sebuah namespace. Contohnya, mereka dapat digunakan untuk pengembangan data, seperti ingest data, ETL, dan query berbasis skrip. Mereka juga dapat digunakan sebagai parameter input dalam fungsi Main dari penyebaran JAR atau Python, dalam konfigurasi parameter penyebaran, konfigurasi log, dan konfigurasi parameter berbasis UI, seperti parameter katalog. Variabel namespace berada dalam format ${secret_values.Nama variabel}. Untuk informasi lebih lanjut tentang cara membuat dan menggunakan variabel namespace, lihat bagian Variabel Namespace dalam topik ini.

Catatan Penggunaan

  • Anda tidak dapat mengonfigurasi beberapa nilai untuk nama variabel.

  • Jangan gunakan kata kunci sebagai nama variabel.

  • Dalam draf SQL, Anda dapat mereferensikan variabel dalam tabel sementara (didefinisikan dengan pernyataan CREATE TEMPORARY TABLE). Jika Anda mereferensikan variabel dalam tabel permanen (didefinisikan dengan pernyataan CREATE TABLE), tabel yang Anda buat tidak dapat digunakan.

Variabel Penyebaran

Catatan

Nama variabel penyebaran harus unik dalam satu penyebaran.

Referensikan variabel dalam draf SQL

Anda dapat menggunakan variabel saat mengembangkan draf SQL. Misalnya, Anda dapat menggunakan variabel sebagai parameter input dari fungsi kustom. Anda juga dapat mengubah nilai variabel setelah penyebaran dimulai.

  1. Di panel navigasi kiri konsol Realtime Compute for Apache Flink, pilih Development > ETL.

  2. Di editor SQL dari draf yang ingin dikembangkan, buat variabel dalam format ${Nama variabel}. Contoh kode berikut memberikan ilustrasi.

    • Jika Anda mereferensikan variabel dalam klausa WITH, apit variabel dengan sepasang tanda kutip tunggal ('), dalam format '${Nama variabel}'.

    • Jika Anda mereferensikan variabel sebagai nama tabel atau nama bidang dalam pernyataan SQL, apit variabel dengan sepasang tanda aksen grave (`), dalam format `${Nama variabel}`.

    create temporary table `${source_name}`(
        id varchar,
        name varchar
    ) with (
        'connector' = 'datagen'
    );
    
    
    create temporary table blackhole(
        id varchar,
        `${test_name}` varchar
    ) with (
        'connector' = '${blackhole}'
    );
    
    insert into blackhole select * from `${source_name}`;
  3. Realtime Compute for Apache Flink secara otomatis mengidentifikasi variabel dalam format yang diperlukan dalam draf. Gunakan salah satu metode berikut untuk mengonfigurasi nilai variabel:

    • Metode 1: Masukkan nilai variabel di panel Variables editor SQL.

      image

    • Metode 2: Klik tab Configurations di sebelah kanan editor SQL. Di panel Konfigurasi, masukkan nilai variabel di bagian Variables.

      image

  4. Setelah draf disebarluaskan, lihat variabel yang direferensikan dalam penyebaran pada tab Configuration halaman Deployments.

    image

  5. Di halaman Deployments, cari deployment yang ingin Anda mulai, lalu klik Start pada kolom Actions. Anda dapat mengubah nilai variabel di panel Start Job.

    Penting

    Nilai variabel baru hanya berlaku untuk penyebaran tertentu yang akan dimulai. Nilai yang didefinisikan dalam draf SQL tetap tidak berubah.

    image

Referensikan variabel dalam penyebaran JAR atau Python

Anda dapat menggunakan variabel sebagai parameter input dalam fungsi Main dari penyebaran JAR atau Python.

Metode 1

  1. Di panel navigasi kiri, pilih Security > Variables. Kemudian, buat variabel.

  2. Pilih O&M > Deployments. Di halaman Deployments, klik Create Deployment.

  3. Di bidang Entry Point Main Arguments kotak dialog yang muncul, masukkan nama variabel dalam format --<Nama variabel yang ditentukan dalam kode> ${secret_values.<Nama variabel yang dikonfigurasikan di konsol>}, seperti --akid ${secret_values.test1}.

    Catatan

    Untuk mengonfigurasi variabel di konsol, buka Security > Variables.

    Jika nama variabel mengandung karakter khusus, ikuti petunjuk yang diberikan di Apa yang harus saya lakukan jika saya ingin menentukan karakter khusus dalam nilai parameter Argumen Utama Titik Masuk?.

    image

  4. Klik Deploy.

  5. Temukan penyebaran target dan klik Start di kolom Actions.

Metode 2

  1. Di panel navigasi kiri konsol pengembangan, pilih O&M > Deployments. Di halaman Penyebaran, klik Create Deployment.

  2. Dalam kotak dialog yang muncul, masukkan nama variabel di bidang Entry Point Main Arguments, lalu masukkan nilai variabel di bagian Variables di bawahnya.

    Jika nama variabel mengandung karakter khusus, ikuti petunjuk yang diberikan di Apa yang harus saya lakukan jika saya ingin menentukan karakter khusus dalam nilai parameter Argumen Utama Titik Masuk?.

    image

    Untuk informasi lebih lanjut tentang parameter penyebaran lainnya, lihat Buat Penyebaran.

  3. Klik Deploy.

  4. Buka O&M > Deployments. Di halaman Deployments, temukan penyebaran target dan klik Start di kolom Actions.

    Panel Start Job muncul. Anda dapat mengubah nilai variabel untuk pekerjaan Flink ini.

    image

Variabel Namespace

Buat variabel

Catatan

Hanya anggota dengan izin editor atau lebih tinggi, atau anggota dengan izin pembuatan variabel yang dapat membuat variabel.

  1. Masuk ke konsol pengembangan Realtime Compute for Apache Flink. Temukan ruang kerja yang ingin dikelola dan klik Console di kolom Actions.

  2. Di panel navigasi kiri, pilih Security > Variables. Di halaman Variabel, klik Add Variable.

    Parameter

    Deskripsi

    Nama Variabel

    Nama variabel harus unik dalam namespace yang sama dan tidak dapat diubah setelah variabel dibuat.

    Nilai Variabel

    Nilai variabel bersifat case-sensitive. Perhatikan huruf besar/kecil saat memasukkan huruf dalam nilai variabel. Anda dapat mengubah nilai variabel setelah dibuat. Untuk informasi lebih lanjut, lihat bagian Edit atau hapus variabel dalam topik ini.

    Tipe

    Anda tidak dapat mengubah tipe variabel setelah dibuat. Nilai valid:

    • Teks biasa: Anda dapat langsung melihat nilai variabel di halaman Variabel.

    • Teks terenkripsi: Anda tidak dapat melihat nilai variabel.

    image

  3. Klik OK.

Referensikan variabel

Setelah membuat variabel, Anda dapat mereferensikan variabel dalam format ${secret_values.Nama variabel}. Bagian berikut memberikan contoh untuk mereferensikan variabel dalam berbagai skenario.

Referensikan variabel dalam pengembangan data

Anda dapat mereferensikan variabel namespace di modul Development konsol Realtime Compute for Apache Flink.

Draf SQL untuk ETL

Dalam pernyataan DDL draf SQL, Anda dapat mereferensikan variabel dalam format ${secret_values.Nama variabel}. Contoh kode berikut memberikan ilustrasi.

  • Jika Anda mereferensikan variabel dalam klausa WITH, apit variabel dengan sepasang tanda kutip tunggal ('), dalam format '${secret_values.Nama variabel}'.

  • Jika Anda mereferensikan variabel sebagai nama tabel atau nama bidang dalam pernyataan SQL, apit variabel dengan sepasang tanda aksen grave (`), dalam format `${secret_values.Nama variabel}`.

create temporary table `${secret_values.source_name}`(
    id varchar,
    name varchar
) with (
    'connector' = 'datagen'
);


create temporary table blackhole(
    id varchar,
    `${secret_values.test_name}` varchar
) with (
    'connector' = '${secret_values.blackhole}'
);

insert into blackhole select * from `${secret_values.source_name}`;

Ingesti data

source:
  type: mysql
  name: Sumber MySQL
  hostname: localhost
  port: 3306
  username: test
  password: ${secret_values.mysqlpw}
  tables: app_db.\.*
  server-id: 5400-5404

···

Query data

USE CATALOG paimon;

CREATE DATABASE IF NOT EXISTS `${secret_values.test_name}`;

CREATE TABLE paimon.`${secret_values.test_name}`.ods_user_log
(
    item_id  int NOT NULL,
    `${secret_values.user}` varchar(50) NOT NULL,
    action  varchar(20)  NOT NULL,
    vtime   timestamp,
    ds      varchar(10) NOT NULL
)
PARTITIONED BY (ds);

SELECT * from paimon.`${secret_values.test_name}`.ods_user_log LIMIT 10;

Referensikan variabel dalam penyebaran JAR atau Python

Anda dapat menggunakan variabel sebagai parameter input dalam fungsi Main dari penyebaran JAR atau Python.

  1. Di konsol pengembangan Realtime Compute for Apache Flink, pilih O&M > Deployments. Di halaman Penyebaran, klik Create Deployment.

  2. Masukkan nama variabel di bidang Entry Point Main Arguments. Gambar berikut menunjukkan konfigurasi.

    image

    Untuk informasi lebih lanjut tentang parameter penyebaran lainnya, lihat Buat Penyebaran.

  3. Klik Deploy.

Referensikan variabel dalam konfigurasi parameter penyebaran

Anda dapat menggunakan variabel dalam konfigurasi parameter penyebaran.

  1. Di konsol pengembangan Realtime Compute for Apache Flink, pilih O&M > Deployments. Di halaman Penyebaran, klik penyebaran yang ingin dikelola.

  2. Pada tab Configuration, klik Edit di pojok kanan atas bagian Parameters untuk mengonfigurasi parameternya. Anda dapat menggunakan variabel sebagai nilai parameter. Gambar berikut menunjukkan konfigurasi tersebut.

    image

  3. Klik Save.

Referensikan variabel di bagian Logging

  1. Buka bagian Logging.

  2. Referensikan variabel di bagian Logging.

    Dalam contoh berikut, variabel bernama accessKeyId dan accessKeySecret digunakan untuk mengekspor log penyebaran ke Layanan Log Sederhana. Untuk informasi lebih lanjut tentang konfigurasi lengkap, lihat Konfigurasikan Parameter untuk Mengekspor Log Penyebaran.

    <Appender name="SLS" type="SLS">
      <Layout pattern="%d{yyyy-MM-dd HH:mm:ss,SSS}{GMT+8} %-5p %-60c %x - %m%n" type="PatternLayout" charset="UTF-8"/>  
    
      <!-- Jalur log efektif akhirnya adalah: ${baseUri}/logs/${namespace}/${deploymentId}/{jobId}/ -->
      <Property name="namespace">{{ namespace }}</Property> <!-- Jangan ubah baris ini -->
      <Property name="project">PROYEK-SLS-ANDA</Property>  
      <Property name="logStore">LOGSTORE-SLS-ANDA</Property> 
      <Property name="endpoint">TITIK-AKHIR-SLS-ANDA</Property> 
      <Property name="accessKeyId">${secret_values.accessKeyId}</Property> 
      <Property name="accessKeySecret">${secret_values.accessKeySecret}</Property> 
      <Property name="topic">{{ namespace }}:{{ deploymentId }}:{{ jobId }}</Property>
      <Property name="deploymentName">{{ deploymentName }}</Property>
      <Property name="flushIntervalSeconds">10</Property>
      <Property name="flushIntervalEventCount">100</Property>
    </Appender>

Referensikan variabel dalam konfigurasi parameter berbasis UI

Saat membuat katalog di konsol pengembangan Realtime Compute for Apache Flink, Anda dapat mereferensikan variabel dalam item konfigurasi.

  1. Di konsol pengembangan Realtime Compute for Apache Flink, klik Catalogs di panel navigasi kiri.

  2. Referensikan variabel di kotak dialog Buat Katalog. Dalam contoh ini, variabel bernama mysqlpassword digunakan untuk parameter kata sandi saat membuat katalog MySQL.

    image.png

Edit atau hapus variabel

Catatan

Berhati-hatilah saat mengedit atau menghapus variabel. Operasi yang tidak disengaja dapat menyebabkan kegagalan penyebaran draf atau perlunya menyebarluaskan ulang draf. Jika Anda menghapus variabel yang ada, penyebaran yang sedang berjalan tidak akan terpengaruh.

  1. Masuk ke konsol Realtime Compute for Apache Flink. Temukan ruang kerja yang ingin dikelola dan klik Console di kolom Actions.

  2. Di panel navigasi kiri, pilih Security > Variables. Di halaman Variabel, temukan variabel yang ingin diedit atau dihapus dan klik Edit atau Delete di kolom Actions.

    • Edit Variabel

      Anda dapat mengubah nilai variabel. Hanya anggota dengan izin editor atau lebih tinggi yang dapat mengedit variabel.

    • Hapus Variabel

      Hanya anggota dengan izin editor atau lebih tinggi, atau anggota dengan izin penghapusan variabel yang dapat menghapus variabel.

Referensi

  • Untuk informasi lebih lanjut tentang cara mengembangkan draf SQL, lihat Kembangkan Draf SQL.

  • Untuk informasi lebih lanjut tentang parameter penyebaran JAR atau Python, lihat Buat Penyebaran.

  • Untuk informasi lebih lanjut tentang cara membuat dan menggunakan katalog, lihat Kelola Katalog.

  • Untuk informasi lebih lanjut tentang konektor yang didukung oleh Realtime Compute for Apache Flink, lihat Konektor yang Didukung.