全部产品
Search
文档中心

Hologres:Sinkronisasi real-time data Simple Log Service

更新时间:Feb 04, 2026

Topik ini menjelaskan cara menulis data dari Simple Log Service (SLS) ke Hologres secara real-time, dengan contoh menggunakan Flink dan integrasi data DataWorks.

Prasyarat

Informasi latar belakang

Simple Log Service (SLS) adalah platform observabilitas cloud-native yang menyediakan layanan berskala besar, berbiaya rendah, dan real-time untuk menangani data seperti log, metrik, dan jejak. Platform ini menawarkan kemampuan terpadu untuk pengumpulan data, pemrosesan, kueri dan analisis, visualisasi, peringatan, konsumsi, serta pengiriman, sehingga meningkatkan kemampuan digital Anda dalam skenario seperti R&D, O&M, operasional, dan keamanan.

Hologres adalah mesin komputasi waktu nyata yang berkinerja tinggi, andal, berbiaya rendah, dan dapat diskalakan, yang menyediakan solusi gudang data real-time serta layanan pencarian interaktif dalam sub-detik untuk dataset berskala besar. Hologres banyak digunakan dalam skenario seperti membangun mid-end data real-time, analisis detail halus, analisis self-service, profil pemasaran, segmentasi audiens, dan pengendalian risiko real-time. Anda dapat dengan cepat menulis data SLS ke Hologres untuk analisis dan kueri real-time, sehingga meningkatkan kemampuan eksplorasi data bisnis Anda.

Tulis data SLS ke Hologres menggunakan Flink

  1. Siapkan data SLS.

    Data SLS dalam contoh ini berasal dari data simulasi pada platform SLS, yang mensimulasikan log login dan konsumsi game. Jika Anda memiliki data bisnis, gunakan langsung.

    1. Masuk ke Konsol Simple Log Service.

    2. Di bagian Data Ingestion, klik Simulate Data.

    3. Pada tab Simulate Data, klik Simulate di bawah Game Operation Logs.

    4. Pada halaman Select Log Space, pilih Project dan Logstore, lalu klik Next.

    5. Pada halaman Simulate Data, atur cakupan dan frekuensi, lalu klik Start Import.

    6. Bidang dan data yang dihasilkan oleh simulasi ditampilkan di bawah ini. Untuk informasi selengkapnya, lihat Panduan cepat untuk kueri dan analisis.

      Kolom content bertipe JSON.模拟数据

  2. Buat tabel Hologres.

    Buat tabel di Hologres untuk menerima data tersebut. Anda dapat membuat indeks untuk bidang tertentu sesuai kebutuhan kueri guna meningkatkan efisiensi kueri. Untuk informasi selengkapnya tentang indeks, lihat Buat tabel. Pernyataan Data Definition Language (DDL) untuk contoh ini adalah sebagai berikut.

    CREATE TABLE sls_flink_holo (
        content JSONB ,
        operation TEXT,
        uid TEXT,
        topic  TEXT ,
        source TEXT ,
        c__timestamp TIMESTAMPTZ,
        receive_time BIGINT,
        PRIMARY KEY (uid)
      );
  3. Tulis data menggunakan Flink.

    Untuk menulis data SLS ke Hologres menggunakan Flink, lihat dokumen berikut:

    1. Baca data SLS di Flink: Tabel sumber SLS.

    2. Tulis data ke Hologres di Flink: Tabel sink Hologres.

    Pekerjaan SQL berikut merupakan contoh penulisan data SLS ke Hologres menggunakan Flink. Bidang JSON ditulis langsung ke bidang JSON di Hologres. Karena Flink tidak mendukung tipe JSON native, tipe VARCHAR digunakan sebagai pengganti.

    Catatan
    • Untuk langkah-langkah lengkap mengenai pengembangan dan menjalankan pekerjaan SQL di Flink, lihat Peta pengembangan pekerjaan dan Jalankan pekerjaan.

    • SLS berisi data JSON. Anda dapat mengurai data JSON tersebut di Flink sebelum menulisnya, atau menulis data JSON langsung ke Hologres, tergantung kebutuhan Anda.

    CREATE TEMPORARY TABLE sls_input (
        content STRING,
        operation STRING,
        uid STRING,
        `__topic__` STRING METADATA VIRTUAL,
        `__source__` STRING METADATA VIRTUAL,
        `__timestamp__` BIGINT METADATA VIRTUAL,
        `__tag__` MAP<VARCHAR, VARCHAR> METADATA VIRTUAL
      )
    WITH (
        'connector' = 'sls',
        'endpoint' = 'sls_private_endpoint',--Titik akhir pribadi SLS.
        'accessid' = 'your_access_id',--ID AccessKey Anda.
        'accesskey' = 'your_access_key',--Rahasia AccessKey Anda.
        'starttime' = '2024-08-30 00:00:00',--Waktu mulai untuk mengonsumsi log.
        'project' = 'your_project_name',--Nama project SLS.
        'logstore' = 'your_logstore_name'--Nama Logstore.
      );
    
    CREATE TEMPORARY TABLE hologres_sink (
        content VARCHAR,
        operation VARCHAR,
        uid VARCHAR,
        topic  STRING ,
        source STRING ,
        c__timestamp TIMESTAMP ,
        receive_time BIGINT
      )
    WITH (
        'connector' = 'hologres',
        'dbname' = 'your_holo_db_name', --Nama database Hologres.
        'tablename' = 'your_holo_table_name', --Nama tabel Hologres yang menerima data.
        'username' = 'your_access_id', --ID AccessKey Akun Alibaba Cloud Anda.
        'password' = 'your_access_key', --Rahasia AccessKey Akun Alibaba Cloud Anda.
        'endpoint' = 'your_holo_vpc_endpoint' --Titik akhir VPC instans Hologres.
      );
    
    INSERT INTO hologres_sink
    SELECT
       content,
       operation,
       uid,
       `__topic__` ,
       `__source__` ,
        CAST (
        FROM_UNIXTIME (`__timestamp__`) AS TIMESTAMP
      ),
       CAST (__tag__['__receive_time__'] AS BIGINT) AS receive_time
    FROM
      sls_input;
  4. Kueri data.

    Kueri data SLS yang telah ditulis ke Hologres menggunakan Flink. Anda kemudian dapat melakukan pengembangan data sesuai kebutuhan.查询数据

Tulis data SLS ke Hologres menggunakan integrasi data DataWorks

  1. Siapkan data SLS.

    Data SLS dalam contoh ini berasal dari data simulasi pada platform SLS, yang mensimulasikan log login dan konsumsi game. Jika Anda memiliki data bisnis, gunakan langsung.

    1. Masuk ke Konsol Simple Log Service.

    2. Di bagian Data Ingestion, klik Simulate Data.

    3. Pada tab Simulate Data, klik Simulate di bawah Game Operation Logs.

    4. Pada halaman Select Log Space, pilih Project dan Logstore, lalu klik Next.

    5. Pada halaman Simulate Data, atur cakupan dan frekuensi, lalu klik Start Import.

    6. Bidang dan data yang dihasilkan oleh simulasi ditampilkan di bawah ini. Untuk informasi selengkapnya, lihat Panduan cepat untuk kueri dan analisis.

      Kolom content bertipe JSON.模拟数据

  2. Buat tabel Hologres.

    Buat tabel di Hologres untuk menerima data tersebut. Buat indeks untuk bidang tertentu sesuai kebutuhan kueri guna meningkatkan efisiensi kueri. Untuk informasi selengkapnya tentang indeks, lihat Buat tabel. Pernyataan DDL untuk contoh ini adalah sebagai berikut.

    Catatan
    • Dalam contoh ini, uid diatur sebagai primary key untuk memastikan keunikan data. Anda dapat mengubah pengaturan ini sesuai kebutuhan.

    • Atur uid sebagai distribution key. Hal ini memastikan bahwa data dengan uid yang sama ditulis ke shard yang sama, sehingga meningkatkan performa kueri.

    BEGIN;
    CREATE  TABLE sls_dw_holo (
        content JSONB ,
        operation TEXT,
        uid TEXT,
        C_Topic  TEXT ,
        C_Source TEXT ,
        timestamp BIGINT,
        PRIMARY KEY (uid)
      );
      CALL set_table_property('sls_dw_holo', 'distribution_key', 'uid');
      CALL set_table_property('sls_dw_holo', 'event_time_column', 'timestamp');
    COMMIT;
                            
  3. Konfigurasikan sumber data.

    Sebelum menyinkronkan data, tambahkan sumber data untuk integrasi data ke workspace DataWorks Anda.

  4. Sinkronkan data secara real-time.

    Buat dan jalankan task sinkronisasi real-time di integrasi data. Untuk informasi selengkapnya, lihat Konfigurasikan task sinkronisasi real-time untuk data inkremental dalam satu tabel dan O&M untuk task sinkronisasi real-time.

    Pada task sinkronisasi real-time yang dibuat untuk contoh ini, input diatur ke sumber data Loghub dan output diatur ke sumber data Hologres. Pemetaan bidang untuk sinkronisasi dikonfigurasikan seperti pada gambar berikut.字段映射

  5. Kueri data.

    Setelah task sinkronisasi real-time dimulai, Anda dapat mengkueri data SLS yang telah ditulis ke Hologres menggunakan integrasi data DataWorks.查询数据