全部产品
Search
文档中心

Realtime Compute for Apache Flink:Print connector

更新时间:Jun 19, 2025

Topik ini menjelaskan cara menggunakan Print Connector.

Informasi latar belakang

Print Connector digunakan untuk menulis setiap baris ke output sistem atau aliran error sistem. Dirancang untuk debugging. Untuk melihat hasil antara atau output dari penyebaran Flink, Anda dapat menambahkan tabel hasil cetak. Kemudian, Anda dapat melihat data hasil di log Pengelola Tugas sesuai pengaturan.

Print Connector dapat digunakan untuk memeriksa apakah pesan yang dikirim ke tabel hasil lainnya sesuai dengan harapan.

Tabel berikut menggambarkan kemampuan yang didukung oleh Print Connector.

Item

Deskripsi

Jenis tabel

Tabel hasil dan sink pengambilan data

Mode operasi

Mode batch dan mode streaming

Format data

Tidak tersedia

Metrik

Tidak tersedia

Jenis API

SQL API dan YAML API pengambilan data

Pembaruan atau penghapusan data dalam tabel sink

Didukung

Prasyarat

  • Untuk melihat output dari tabel hasil Print, pastikan tingkat log disetel ke INFO.

  • Maksimum 2.000 entri log dapat ditampilkan di Taskmanager.out. Jika Anda ingin memeriksa data kotor atau data tertentu, kami sarankan Anda menentukan kondisi dalam klausa WHERE untuk melakukan operasi cetak. Operasi cetak memungkinkan Anda secara efektif memeriksa data yang diperlukan, meskipun jumlah catatan data yang ditampilkan terbatas.

SQL

Sintaks

CREATE TABLE print_table (
  a INT,
  b varchar
) WITH (
  'connector'='print',
  'logger'='true'
);

Anda juga dapat membuat tabel Print dengan menggunakan LIKE klausa berdasarkan skema tabel yang ada. Contoh pernyataan:

CREATE TABLE print_table WITH ('connector' = 'print')
LIKE table_source (EXCLUDING ALL)

Parameter dalam klausa WITH

Parameter

Deskripsi

Tipe data

Diperlukan

Nilai default

Catatan

connector

Jenis tabel.

String

Ya

Tidak ada nilai default

Atur nilainya menjadi print.

logger

Menentukan apakah akan menampilkan hasil data di konsol.

Boolean

Tidak

false

Nilai valid:

  • false: Hasil data tidak ditampilkan di konsol. Ini adalah nilai default.

  • true: Hasil data ditampilkan di konsol.

print-identifier

Pengenal hasil data.

String

Tidak

Tidak ada nilai default

Informasi log diambil dengan menggunakan pengenal hasil data.

sink.parallelism

Paralelisme tabel hasil.

Int

Tidak

Nilai yang sama dengan paralelisme hulu

Tidak tersedia.

Pengambilan data

Draf YAML untuk pengambilan data dapat menggunakan nilai konektor untuk mencetak data ke file out atau log.

Sintaks

source:
  type: xxx

sink:
  type: values
  name: Values Sink
  print.enabled: true

Parameter dalam klausa WITH

Parameter

Deskripsi

Tipe data

Diperlukan

Nilai default

Catatan

type

Jenis konektor sink

STRING

Ya

Tidak ada nilai default

Nilainya tetap menjadi values.

name

Nama konektor sink

STRING

Tidak

Tidak ada nilai default

Tidak tersedia.

print.enabled

Apakah konektor digunakan sebagai Print connector

BOOLEAN

Ya

Tidak ada nilai default

Nilainya tetap menjadi true.

materialized.in.memory

Apakah akan menyimpan peristiwa log biner ke memori.

BOOLEAN

Tidak

false

Tidak tersedia.

sink.print.standard-error

Apakah akan mencetak format ke kesalahan sistem daripada system out.

BOOLEAN

Tidak

false

Secara default, format dicetak ke system out.

sink.print.logger

Apakah akan menampilkan data hasil di konsol.

BOOLEAN

Tidak

false

Tidak tersedia.

sink.print.limit

Jumlah maksimum catatan data untuk dicetak.

LONG

Tidak

2000

Tidak tersedia.

error.on.schema.change

Apakah sebuah kesalahan dilaporkan ketika terjadi perubahan skema.

BOOLEAN

Tidak

false

Tidak tersedia.

Contoh kode

  • Contoh kode untuk tabel hasil

    CREATE TEMPORARY TABLE table_source(
      name VARCHAR,
      score BIGINT
    ) WITH (
      ...
    );
    
    CREATE TEMPORARY TABLE print_sink(
      name VARCHAR,
      score BIGINT
    ) WITH (
      'connector' = 'print'
    );
    
    INSERT INTO print_sink SELECT * from table_source;
  • Sink Pengambilan Data

    source:
      type: mysql
      name: MySQL Source
      hostname: ${mysql.hostname}
      port: ${mysql.port}
      username: ${mysql.username}
      password: ${mysql.password}
      tables: ${mysql.source.table}
      server-id: 7601-7604
    
    sink:
      type: values
      name: Values Sink
      print.enabled: true