All Products
Search
Document Center

DataWorks:Sumber data Hologres

Last Updated:Jul 09, 2026

Sumber data Hologres menyediakan saluran baca dan tulis dua arah untuk Hologres. Topik ini menjelaskan kemampuan sinkronisasi data Hologres yang didukung oleh DataWorks.

Batasan

Sumber data Hologres hanya mendukung menjalankan tugas sinkronisasi pada serverless resource group.

Baca dan tulis batch

  • Hologres Writer tidak mendukung penulisan data ke tabel eksternal Hologres.

  • Logika untuk memperoleh endpoint Hologres guna koneksi sumber data:

    • Untuk instans Hologres di wilayah saat ini, prioritas endpoint adalah: any Tunnel > Single Tunnel > Public (internet).

    • Untuk instans Hologres di wilayah lain, prioritas endpoint adalah: Public (internet) > Single Tunnel.

Baca real-time tabel tunggal

  • Versi Hologres harus 2.1 atau lebih baru.

  • Sinkronisasi inkremental untuk tabel partisi Hologres tidak didukung.

  • Sinkronisasi pesan perubahan DDL pada tabel Hologres tidak didukung.

  • Sinkronisasi inkremental Hologres mendukung tipe data berikut:

    INTEGER, BIGINT, TEXT, CHAR(n), VARCHAR(n), REAL, JSON, SERIAL, OID, INT4[], INT8[], FLOAT8[], BOOLEAN[], TEXT[].

  • Untuk sinkronisasi real-time tabel tunggal dari Hologres, Anda harus mengaktifkan Hologres Binlog pada tabel sumber Hologres. Untuk informasi selengkapnya, lihat Berlangganan Hologres Binlog.

Tulis real-time basis data penuh

  • Tugas sinkronisasi data real-time tidak mendukung sinkronisasi tabel tanpa primary key.

  • Saat menyinkronkan data dari basis data penuh MySQL ke Hologres secara real time, data hanya dapat ditulis ke tabel anak dari tabel partisi. Penulisan ke tabel induk tabel partisi tidak didukung.

Tipe data yang didukung

Tipe data

Baca batch (Hologres Reader)

Tulis batch (Hologres Writer)

Penulisan real-time

UUID

Tidak didukung

Tidak didukung

Tidak didukung

CHAR

Didukung

Didukung

Didukung

NCHAR

Didukung

Didukung

Didukung

VARCHAR

Didukung

Didukung

Didukung

LONGVARCHAR

Didukung

Didukung

Didukung

NVARCHAR

Didukung

Didukung

Didukung

LONGNVARCHAR

Didukung

Didukung

Didukung

CLOB

Didukung

Didukung

Didukung

NCLOB

Didukung

Didukung

Didukung

SMALLINT

Didukung

Didukung

Didukung

TINYINT

Didukung

Didukung

Didukung

INTEGER

Didukung

Didukung

Didukung

BIGINT

Didukung

Didukung

Didukung

NUMERIC

Didukung

Didukung

Didukung

DECIMAL

Didukung

Didukung

Didukung

FLOAT

Didukung

Didukung

Didukung

REAL

Didukung

Didukung

Didukung

DOUBLE

Didukung

Didukung

Didukung

TIME

Didukung

Didukung

Didukung

DATE

Didukung

Didukung

Didukung

TIMESTAMP

Didukung

Didukung

Didukung

BINARY

Didukung

Didukung

Didukung

VARBINARY

Didukung

Didukung

Didukung

BLOB

Didukung

Didukung

Didukung

LONGVARBINARY

Didukung

Didukung

Didukung

BOOLEAN

Didukung

Didukung

Didukung

BIT

Didukung

Didukung

Didukung

JSON

Didukung

Didukung

Didukung

JSONB

Didukung

Didukung

Didukung

Cara kerja

Baca batch

Hologres Reader mendukung dua mode baca:

Mode JDBC (default)

Membaca data dari tabel Hologres melalui PSQL. Beberapa tugas konkuren diinisiasi berdasarkan jumlah shard tabel, dengan setiap shard sesuai dengan satu tugas Select konkuren:

  • Saat membuat tabel di Hologres, Anda dapat mengonfigurasi jumlah shard tabel dengan menjalankan CALL set_table_property('table_name', 'shard_count', 'xx') dalam transaksi CREATE TABLE yang sama.

    Secara default, database menggunakan jumlah shard default, yang bergantung pada konfigurasi instans Hologres.

  • Pernyataan Select memfilter data berdasarkan shard menggunakan kolom bawaan hg_shard_id dari tabel.

Mode Arrow (useArrow=true)

Membaca data melalui protokol Hologres COPY OUT Arrow. Mode ini mendukung transfer terkompresi LZ4 dan memberikan kinerja lebih tinggi:

  • Memerlukan Hologres versi >= 4.0.18.

  • Tugas konkuren juga dibagi berdasarkan jumlah shard.

  • Kolom fungsi dan kolom konstan tidak didukung. Hanya kolom fisik dalam tabel yang didukung.

  • Transfer terkompresi diaktifkan secara otomatis ketika persyaratan versi terpenuhi.

Tulis batch

Hologres Writer memperoleh data protokol yang dihasilkan oleh Reader melalui framework sinkronisasi data. Saluran dan strategi resolusi konflik yang digunakan untuk menulis data ditentukan oleh konfigurasi writeMode dan conflictMode.

Mode tulis (writeMode)

Mode tulis

Metode

Skenario yang berlaku

Persyaratan versi

INSERT

Menggunakan Holo Client untuk penulisan batch (INSERT ON CONFLICT).

Skenario real-time (termasuk penarikan data) dan skenario penulisan umum.

Semua versi

FIXED_COPY

Menggunakan Holo Client Fixed Copy untuk penulisan streaming.

Skenario real-time (tidak termasuk penarikan data). Juga dapat digunakan untuk skenario impor batch.

Hologres >= 1.1

STAGE

Pertama-tama menulis data ke Hologres Internal Stage (format Arrow), lalu mengimpor data dari stage ke tabel tujuan.

Mode yang direkomendasikan untuk sinkronisasi batch. Kinerja terbaik untuk impor skala besar.

Hologres >= 4.1.0

COPY

Menggunakan JDBC COPY FROM STDIN untuk menulis data CSV teks.

Skenario impor batch yang kompatibel dengan versi sebelumnya.

Semua versi

Rekomendasi skenario

Mode penanganan konflik (conflictMode)

Anda dapat mengonfigurasi conflictMode untuk menentukan cara menangani data yang baru diimpor ketika terjadi konflik primary key dengan data yang sudah ada:

Penting

conflictMode hanya berlaku untuk tabel yang memiliki primary key. Untuk informasi lebih lanjut tentang mekanisme penulisan dan kinerja, lihat Menulis data ke Hologres.

  • Ketika conflictMode diatur ke Replace (full row update), data baru menimpa data lama. Semua kolom dalam baris tersebut ditimpa. Kolom yang tidak termasuk dalam pemetaan kolom dipaksakan menjadi NULL.

  • Ketika conflictMode diatur ke Update, data baru menimpa data lama. Hanya kolom yang termasuk dalam pemetaan kolom yang ditimpa.

  • Ketika conflictMode diatur ke Ignore, data baru diabaikan.

Tambahkan sumber data

Sebelum mengembangkan tugas sinkronisasi di DataWorks, Anda harus menambahkan sumber data yang diperlukan ke DataWorks dengan mengikuti petunjuk dalam Manajemen sumber data. Anda dapat melihat deskripsi parameter di Konsol DataWorks untuk memahami arti parameter saat menambahkan sumber data.

Kembangkan tugas sinkronisasi data

Sinkronisasi batch tabel tunggal

Sinkronisasi real-time tabel tunggal

Sinkronisasi batch basis data penuh

Sinkronisasi real-time basis data penuh

Real-time basis data penuh Serverless

FAQ tentang tugas sinkronisasi real-time: FAQ tentang sinkronisasi real-time.

Lampiran: Demo skrip dan deskripsi parameter

Konfigurasikan tugas sinkronisasi batch menggunakan editor kode

Jika ingin mengonfigurasi tugas sinkronisasi batch menggunakan editor kode, Anda harus mengonfigurasi parameter terkait dalam skrip berdasarkan persyaratan format skrip terpadu. Untuk informasi selengkapnya, lihat Konfigurasi mode skrip. Informasi berikut menjelaskan parameter yang harus dikonfigurasi untuk sumber data saat mengonfigurasi tugas sinkronisasi batch menggunakan editor kode.

Demo skrip Reader

  • Konfigurasikan tabel non-partisi

    • Contoh berikut menunjukkan cara mengonfigurasi pembacaan data dari tabel non-partisi Hologres ke memori.

      {
          "transform": false,
          "type": "job",
          "version": "2.0",
          "steps": [
              {
                  "stepType": "holo",
                  "parameter": {
                      "datasource": "holo_db",
                      "envType": 1,
                      "column": [ 
                          "tag",
                          "id",
                          "title",
                          "body"
                      ],
                      "where": "",
                      "table": "holo_reader_basic_src"
                  },
                  "name": "Reader",
                  "category": "reader"
              },
              {
                  "stepType": "stream",
                  "parameter": {
                      "print": false,
                      "fieldDelimiter": ","
                  },
                  "name": "Writer",
                  "category": "writer"
              }
          ],
          "setting": {
              "executeMode": null,
              "failoverEnable": null,
              "errorLimit": {
                  "record": "0"
              },
              "speed": {
                  "concurrent": 2,
                  "throttle": false
              }
          },
          "order": {
              "hops": [
                  {
                      "from": "Reader",
                      "to": "Writer"
                  }
              ]
          }
      }
    • Pernyataan DDL tabel Hologres adalah sebagai berikut.

      begin;
      drop table if exists holo_reader_basic_src;
      create table holo_reader_basic_src(
        tag text not null, 
        id int not null, 
        title text not null, 
        body text, 
        primary key (tag, id));
        call set_table_property('holo_reader_basic_src', 'orientation', 'column');
        call set_table_property('holo_reader_basic_src', 'shard_count', '3');
      commit;
  • Konfigurasikan tabel partisi

    • Konfigurasikan pembacaan data dari tabel anak tabel partisi Hologres ke memori.

      Catatan

      Perhatikan konfigurasi partition.

      {
          "transform": false,
          "type": "job",
          "version": "2.0",
          "steps": [
              {
                  "stepType": "holo",
                  "parameter": {
                      "selectedDatabase": "public",
                      "partition": "tag=foo",
                      "datasource": "holo_db",
                      "envType": 1,
                      "column": [
                          "tag",
                          "id",
                          "title",
                          "body"
                      ],
                      "tableComment": "",
                      "where": "",
                      "table": "public.holo_reader_basic_part_src"
                  },
                  "name": "Reader",
                  "category": "reader"
              },
              {
            "stepType":"stream",
            "parameter":{},
            "name":"Writer",
            "category":"writer"
          }
        ],
        "setting":{
          "errorLimit":{
            "record":"0"
          },
          "speed":{
            "throttle":true,
            "concurrent":1,
            "mbps":"12"
              }
           },
        "order":{
          "hops":[
            {
              "from":"Reader",
              "to":"Writer"
            }
          ]
        }
      }
    • Pernyataan DDL tabel Hologres adalah sebagai berikut.

      begin;
      drop table if exists holo_reader_basic_part_src;
      create table holo_reader_basic_part_src(
        tag text not null, 
        id int not null, 
        title text not null, 
        body text, 
        primary key (tag, id))
        partition by list( tag );
        call set_table_property('holo_reader_basic_part_src', 'orientation', 'column');
        call set_table_property('holo_reader_basic_part_src', 'shard_count', '3');
      commit;
      
      create table holo_reader_basic_part_src_1583161774228 partition of holo_reader_basic_part_src for values in ('foo');
      
      # Pastikan tabel anak dari tabel partisi telah dibuat dan data telah diimpor.
      postgres=# \d+ holo_reader_basic_part_src
                               Table "public.holo_reader_basic_part_src"
       Column |  Type   | Collation | Nullable | Default | Storage  | Stats target | Description 
      --------+---------+-----------+----------+---------+----------+--------------+-------------
       tag    | text    |           | not null |         | extended |              | 
       id     | integer |           | not null |         | plain    |              | 
       title  | text    |           | not null |         | extended |              | 
       body   | text    |           |          |         | extended |              | 
      Partition key: LIST (tag)
      Indexes:
          "holo_reader_basic_part_src_pkey" PRIMARY KEY, btree (tag, id)
      Partitions: holo_reader_basic_part_src_1583161774228 FOR VALUES IN ('foo')

Parameter skrip Reader

Parameter

Deskripsi

Wajib

Nilai default

database

Nama database dalam instans Hologres.

Ya

N/A

table

Nama tabel Hologres. Format schema_name.table_name didukung. Jika tabel merupakan tabel partisi, tentukan nama tabel induk. Parameter ini saling eksklusif dengan querySql. Anda harus mengonfigurasi minimal salah satu dari keduanya.

Bersyarat

N/A

querySql

Pernyataan SQL kueri kustom. Jika parameter ini dikonfigurasi, parameter tabel dan kolom akan diabaikan. Parameter ini saling eksklusif dengan table. Anda harus mengonfigurasi minimal salah satu dari keduanya.

Wajib bersyarat

N/A

column

Kolom yang akan dibaca. ["*"] menunjukkan semua kolom. Kolom ekspresi fungsi juga didukung (hanya mode JDBC).

Ya

N/A

partition

Untuk tabel partisi, menentukan kolom partisi dan nilainya dalam format column=value.

Penting
  • Hologres hanya mendukung partisi LIST. Hanya satu kolom partisi yang didukung, dan kolom tersebut harus bertipe INT4 atau TEXT.

  • Pastikan parameter ini sesuai dengan konfigurasi partisi dalam DDL tabel.

  • Pastikan tabel anak yang sesuai telah dibuat dan data telah diimpor.

Tidak

Kosong, menunjukkan tabel non-partisi.

where

Kondisi filter, yang ditambahkan ke klausa WHERE pernyataan SELECT. Parameter ini hanya berlaku dalam mode tabel.

Tidak

Kosong

useArrow

Menentukan apakah akan menggunakan format kolom Arrow untuk sinkronisasi data berkinerja tinggi. Saat diaktifkan, Reader menggunakan protokol COPY OUT Arrow untuk membaca data dan meneruskannya ke Writer hilir dalam format kolom guna meningkatkan kinerja. Diperlukan Hologres 4.0.18 atau lebih baru. Jika versi tidak memenuhi persyaratan, sistem secara otomatis kembali ke mode JDBC. Mode Arrow tidak mendukung kolom fungsi atau kolom konstan. Saat ini, mode ini mendukung sinkronisasi batch basis data penuh dan sinkronisasi batch tabel tunggal ketika sumber dan tujuan keduanya adalah MaxCompute, Hologres, atau Hive/OSS/HDFS (Parquet/ORC). Untuk informasi selengkapnya, lihat Gunakan format Arrow untuk sinkronisasi data berkinerja tinggi.

Tidak

false

compress

Menentukan apakah akan mengaktifkan kompresi LZ4 untuk transfer data dalam mode Arrow. Parameter ini hanya berlaku ketika useArrow=true.

Tidak

true (diatur otomatis ketika persyaratan versi terpenuhi)

fetchSize

Jumlah baris yang diambil dari database dalam setiap permintaan dalam mode JDBC.

Tidak

1000

jdbcReadTimeout

Periode timeout baca JDBC. Satuan: detik.

Tidak

60

enableServerlessComputing

Menentukan apakah akan mengaktifkan Serverless Computing Hologres untuk mempercepat kueri. Catatan: Parameter ini mengontrol kemampuan Serverless Computing instans Hologres, yang berbeda dari serverless resource group DataWorks.

Tidak

false

serverlessComputingQueryPriority

Prioritas kueri untuk Serverless Computing Hologres. Nilai valid: 1 hingga 10. Nilai yang lebih besar menunjukkan prioritas lebih tinggi. Parameter ini hanya berlaku ketika enableServerlessComputing=true.

Tidak

3

serverlessComputingRequiredCores

Jumlah core yang diminta untuk Serverless Computing Hologres. Parameter ini hanya berlaku ketika enableServerlessComputing=true.

Tidak

5

Demo skrip Writer

  • Konfigurasikan tabel non-partisi

    • Konfigurasikan data yang dihasilkan dari MySQL untuk diimpor ke tabel Hologres biasa. Contoh berikut menunjukkan konfigurasi untuk mengimpor data dalam mode INSERT.

      {
          "type": "job",
          "version": "2.0",
          "steps": [
              {
                  "stepType": "mysql",
                  "parameter": {
                      "envType": 0,
                      "useSpecialSecret": false,
                      "column": [
                          "<column1>",
                          "<column2>",
                          ......,
                          "<columnN>"
                      ],
                      "tableComment": "",
                      "connection": [
                          {
                              "datasource": "<mysql_source_name>",//Nama sumber data MySQL
                              "table": [
                                  "<mysql_table_name>"
                              ]
                          }
                      ],
                      "where": "",
                      "splitPk": "",
                      "encoding": "UTF-8"
                  },
                  "name": "Reader",
                  "category": "reader"
              },
              {
                  "stepType": "holo",
                  "parameter": {
                      "selectedDatabase":"public",
                      "schema": "public",
                      "writeMode": "FIXED_COPY",
                      "maxConnectionCount": 9,
                      "truncate":true,//Aturan pembersihan
                      "datasource": "<holo_sink_name>",//Nama sumber data Hologres
                      "conflictMode": "ignore",
                      "envType": 0,
                      "column": [
                          "<column1>",
                          "<column2>",
                          ......,
                          "<columnN>"
                      ],
                      "tableComment": "",
                      "table": "<holo_table_name>",
                      "reShuffleByDistributionKey":false
                  },
                  "name": "Writer",
                  "category": "writer"
              }
          ],
          "setting": {
              "executeMode": null,
              "errorLimit": {
                  "record": "0"
              },
              "locale": "zh_CN",
              "speed": {
                  "concurrent": 2,//Konkurensi pekerjaan
                  "throttle": false//Pengendalian aliran
              }
          },
          "order": {
              "hops": [
                  {
                      "from": "Reader",
                      "to": "Writer"
                  }
              ]
          }
      }
    • Pernyataan DDL untuk tabel Hologres adalah sebagai berikut.

      begin;
      drop table if exists mysql_to_holo_test;
      create table mysql_to_holo_test(
        tag text not null,
        id int not null,
        body text not null,
        brrth date,
        primary key (tag, id));
        call set_table_property('mysql_to_holo_test', 'orientation', 'column');
        call set_table_property('mysql_to_holo_test', 'distribution_key', 'id');
        call set_table_property('mysql_to_holo_test', 'clustering_key', 'birth');
      commit;
  • Konfigurasikan tabel partisi

    Catatan
    • Hologres hanya mendukung partisi LIST. Hanya satu kolom partisi yang didukung, dan kolom tersebut harus bertipe INT4 atau TEXT.

    • Pastikan parameter ini sesuai dengan konfigurasi partisi dalam DDL tabel.

    • Konfigurasikan sinkronisasi data yang dihasilkan dari MySQL ke tabel anak tabel partisi Hologres.

      {
        "type": "job",
        "version": "2.0",
        "steps": [
          {
            "stepType": "mysql",
            "parameter": {
              "envType": 0,
              "useSpecialSecret": false,
              "column": [
                "<column1>",
                "<column2>",
                  ......,
                "<columnN>"
              ],
              "tableComment": "",
              "connection": [
                {
                  "datasource": "<mysql_source_name>",
                  "table": [
                    "<mysql_table_name>"
                  ]
                }
              ],
              "where": "",
              "splitPk": "<mysql_pk>",//Bidang primary key MySQL
              "encoding": "UTF-8"
            },
            "name": "Reader",
            "category": "reader"
          },
          {
            "stepType": "holo",
            "parameter": {
              "selectedDatabase": "public",
              "writeMode": "insert",
              "maxConnectionCount": 9,
              "partition": "ds=20201215",//Kunci partisi Hologres
              "truncate": "false",
              "datasource": "<holo_sink_name>",//Nama sumber data Hologres
              "conflictMode": "ignore",
              "envType": 0,
              "column": [
                "<column1>",
                "<column2>",
                  ......,
                "<columnN>"
              ],
              "tableComment": "",
              "table": "<holo_table_name>",
              "reShuffleByDistributionKey":false
            },
            "name": "Writer",
            "category": "writer"
          }
        ],
        "setting": {
          "executeMode": null,
          "failoverEnable": null,
          "errorLimit": {
            "record": "0"
          },
          "speed": {
            "concurrent": 2,//Konkurensi pekerjaan
            "throttle": false//Pengendalian aliran
          }
        },
        "order": {
          "hops": [
            {
              "from": "Reader",
              "to": "Writer"
            }
          ]
        }
      }
    • Pernyataan DDL tabel Hologres adalah sebagai berikut.

      BEGIN;
      CREATE TABLE public.hologres_parent_table(
        a text ,
        b int,
        c timestamp,
        d text,
        ds text,
        primary key(ds,b)
        )
        PARTITION BY LIST(ds);
      CALL set_table_property('public.hologres_parent_table', 'orientation', 'column');
      CREATE TABLE public.holo_child_1 PARTITION OF public.hologres_parent_table FOR VALUES IN('20201215');
      CREATE TABLE public.holo_child_2 PARTITION OF public.hologres_parent_table FOR VALUES IN('20201216');
      CREATE TABLE public.holo_child_3 PARTITION OF public.hologres_parent_table FOR VALUES IN('20201217');
      COMMIT;

Parameter skrip Writer

Parameter dasar

Parameter

Deskripsi

Wajib

Nilai default

database

Nama database dalam instans Hologres.

Ya

N/A

table

Nama tabel Hologres. Nama skema dalam nama tabel didukung, seperti schema_name.table_name.

Ya

N/A

writeMode

Mode tulis. Empat mode didukung: INSERT, COPY, FIXED_COPY (memerlukan Hologres >= 1.1), dan STAGE (memerlukan Hologres >= 4.1.0). Untuk informasi selengkapnya, lihat deskripsi mode tulis di Implementasi. Kami merekomendasikan menggunakan STAGE atau FIXED_COPY untuk sinkronisasi batch dan INSERT untuk skenario real-time (termasuk penarikan data).

Ya

N/A

conflictMode

Mode resolusi konflik. Nilai valid: Replace (pembaruan seluruh baris), Update (pembaruan sebagian kolom), dan Ignore (abaikan data baru). Untuk informasi selengkapnya, lihat Implementasi. Parameter ini hanya berlaku pada tabel dengan primary key.

Ya

N/A

column

Kolom data tabel tujuan. Kolom harus mencakup himpunan primary key tabel tujuan (kecuali untuk primary key auto-increment serial dan kolom yang dihasilkan). ["*"] menunjukkan semua kolom.

Ya

N/A

partition

Untuk tabel partisi, parameter ini menentukan kolom partisi dan nilai yang sesuai dalam format column=value. Setelah parameter ini dikonfigurasi, Writer secara otomatis membuat tabel anak (jika belum ada) dan menulis data ke tabel anak yang sesuai.

Catatan
  • Hologres hanya mendukung partisi LIST. Hanya satu kolom partisi yang didukung, dan kolom tersebut harus bertipe INT4, BIGINT, DATE, atau TEXT.

  • Pastikan parameter ini sesuai dengan konfigurasi partisi dalam DDL tabel.

  • Mode STAGE dan FIXED_COPY tidak mendukung penulisan data langsung ke tabel induk partisi. Anda harus menentukan parameter partisi.

Tidak

Kosong, yang menunjukkan tabel non-partisi

reShuffleByDistributionKey

Di Hologres, impor batch ke tabel primary key secara default memicu penguncian tabel, yang membatasi kemampuan penulisan konkuren dari beberapa koneksi. Mengaktifkan fitur reShuffle memungkinkan tugas berbeda dalam skenario sinkronisasi batch menulis data ke shard Holo tertentu berdasarkan kunci distribusi, sehingga memungkinkan penulisan batch konkuren dan meningkatkan kinerja penulisan secara signifikan. Dibandingkan dengan penulisan real-time tradisional dalam mode JDBC, fitur ini mengurangi beban pada server Holo dan lebih meningkatkan efisiensi penulisan.

Penting

Fitur ini hanya tersedia pada serverless resource group.

Tidak

false

truncate

Menentukan apakah akan membersihkan tabel tujuan sebelum menulis data ke tabel Hologres.

  • true: Membersihkan tabel tujuan.

    Catatan
    • Saat ini, hanya tabel non-partisi dan tabel partisi statis yang dapat dipotong. Tabel partisi dinamis tidak dapat dipotong. Jika Anda menggunakan tabel partisi dinamis dan mengatur parameter ini ke true, tugas sinkronisasi akan keluar dengan error.

    • Jika Anda menggunakan tabel partisi statis dan mengatur parameter ini ke true, hanya data dalam tabel anak partisi yang dipotong. Data dalam tabel induk tidak dipotong.

  • false: Tidak membersihkan tabel tujuan.

Tidak

false

partitionFormat

Aturan pemformatan untuk nilai partisi dinamis. Untuk data sumber bertipe Date, tentukan format seperti yyyyMMdd. Untuk data sumber bertipe string, tentukan aturan substring seperti 2:5, yang menunjukkan substring(2, 2+5).

Tidak

N/A

preSql

Daftar pernyataan SQL yang dieksekusi sebelum menulis data. Eksekusi pada tabel induk tabel partisi tidak didukung.

Tidak

N/A

postSql

Daftar pernyataan SQL yang dieksekusi setelah menulis data.

Tidak

N/A

Parameter koneksi dan kinerja

Parameter

Deskripsi

Wajib

Nilai default

maxConnectionCount

Jumlah koneksi konkuren untuk menulis. Nilai ini disesuaikan secara otomatis berdasarkan konkurensi tugas aktual (maxConnectionCount / actualConcurrent). Kami merekomendasikan mengatur parameter ini menjadi 1 hingga 3 kali konkurensi tugas.

Tidak

3

maxRetryCount

Jumlah percobaan ulang saat gagal.

Tidak

10

jdbcReadTimeout

Periode timeout koneksi JDBC. Satuan: detik.

Tidak

120

maxCommitSize

Jumlah maksimum byte per commit, dalam byte.

Tidak

2097152 (2 MB)

maxCommitCount

Jumlah maksimum catatan per commit.

Tidak

256

reShuffleByDistributionKey

Di Hologres, impor batch ke tabel primary key secara default memicu penguncian tabel, yang membatasi kemampuan penulisan konkuren dari beberapa koneksi. Mengaktifkan fitur reShuffle memungkinkan tugas berbeda menulis data ke shard Holo tertentu berdasarkan kunci distribusi dalam skenario sinkronisasi batch. Hal ini memungkinkan penulisan batch konkuren dan meningkatkan kinerja penulisan secara signifikan. Dibandingkan dengan penulisan real-time tradisional dalam mode JDBC, mengaktifkan fitur ini mengurangi beban pada server Holo dan lebih meningkatkan efisiensi penulisan.

Penting

Fitur ini hanya tersedia pada serverless resource group.

Tidak

false

removeU0000InTextColumnValue

Menentukan apakah akan menghapus karakter dari nilai kolom teks. PostgreSQL tidak mendukung penyimpanan karakter ini dalam tipe data TEXT.

Tidak

true

Parameter Hologres Serverless Computing

Parameter berikut mengontrol kemampuan Serverless Computing instans Hologres. Parameter ini dapat mempercepat pembacaan kueri untuk Reader dan operasi INSERT FROM Stage untuk Writer dalam mode STAGE.

Catatan: Hologres Serverless Computing dan serverless resource group DataWorks adalah konsep yang berbeda. Yang pertama adalah kemampuan komputasi elastis dalam instans Hologres, sedangkan yang kedua mengacu pada sumber daya penjadwalan yang digunakan oleh DataWorks untuk menjalankan tugas sinkronisasi.
Catatan penggunaan: Semua mode didukung untuk Reader. Hanya mode STAGE yang didukung untuk Writer.

Parameter

Deskripsi

Wajib

Nilai default

enableServerlessComputing

Menentukan apakah akan mengaktifkan akselerasi Serverless Computing Hologres.

Tidak

false

serverlessComputingQueryPriority

Prioritas kueri untuk Serverless Computing. Nilai valid: 1 hingga 10. Nilai yang lebih besar menunjukkan prioritas lebih tinggi.

Tidak

3

serverlessComputingRequiredCores

Jumlah core yang diminta untuk Serverless Computing. Atur parameter ini ke 0 agar mesin menentukan secara otomatis.

Tidak

N/A (tidak diatur)

Parameter khusus mode FIXED_COPY

Parameter

Deskripsi

Wajib

Nilai default

isBinaryFormat

Menentukan apakah akan menggunakan format biner untuk transfer data. Jika parameter ini diatur ke true, format biner digunakan, yang memberikan efisiensi transfer lebih tinggi. Jika diatur ke false, format teks (CSV) digunakan.

Tidak

true

checkRecordBeforePut

Menentukan apakah akan memvalidasi catatan sebelum menulis, termasuk pemeriksaan tipe dan panjang. Jika parameter ini diaktifkan, data kotor dapat dideteksi di sisi klien sebelumnya.

Tidak

true

maxCellBufferSize

Ukuran buffer maksimum untuk satu baris data, dalam byte. Pastikan buffer dapat menampung baris lengkap. Jika tidak, operasi tulis akan gagal.

Tidak

10485760 (10 MB)

Parameter khusus mode STAGE

Parameter

Deskripsi

Wajib

Nilai default

stageTTL

Waktu hidup (TTL) internal stage, dalam detik. Stage akan dibersihkan secara otomatis setelah periode ini.

Tidak

86400 (1 hari)

stageFileSizeLimit

Ukuran maksimum file stage tunggal, dalam byte. File baru akan dibuat secara otomatis ketika batas ini terlampaui.

Tidak

67108864 (64 MB)

stageMaxBatchSize

Jumlah maksimum baris dalam batch Arrow untuk penulisan catatan. Arrow RecordBatch ditulis setiap kali jumlah baris yang ditentukan terakumulasi.

Tidak

8192

stageCompress

Menentukan apakah akan mengaktifkan kompresi Arrow LZ4. Jika parameter ini diaktifkan, ruang penyimpanan stage dan volume transfer jaringan berkurang secara signifikan. Fitur ini memerlukan Hologres >= 4.2.8. Jika persyaratan versi tidak terpenuhi, kompresi akan dinonaktifkan secara otomatis.

Tidak

true

Parameter lanjutan

Parameter

Deskripsi

Wajib

Nilai default

useArrow

Menentukan apakah akan menggunakan jalur tulis kolom Arrow. Jika parameter ini diatur ke true dan versi Hologres >= 4.1.0, mode tulis STAGE akan diaktifkan secara otomatis. Hologres Writer dapat menerima data berformat Arrow (ArrowTabularRecord) yang dihasilkan oleh reader hulu mana pun, dan juga dapat menerima catatan berbasis baris standar, yang secara otomatis dikonversi ke format Arrow untuk ditulis ke stage. Untuk informasi selengkapnya, lihat Tulisan kolom Arrow.

Tidak

false

default.enable

Menentukan apakah akan mengisi nilai default secara otomatis untuk kolom yang didefinisikan sebagai NOT NULL tetapi tidak memiliki nilai yang ditentukan.

Tidak

true

enableWriteBitTypeWithString

Menentukan apakah akan mengizinkan penulisan data BIT sebagai string.

Tidak

false

holoClient

Item konfigurasi lanjutan untuk Holo Client dalam format Map. Anda dapat mengatur parameter apa pun dari HoloConfig dasar. Contoh: {"writeBatchSize": 512}.

Tidak

Tidak ada