Todos os produtos
Search
Central de documentação

Hologres:Sincronização de dados em tempo real do Simple Log Service

Última atualização: Aug 22, 2026

É possível gravar dados do Simple Log Service no Hologres de várias maneiras. Este tópico descreve como sincronizar dados do Simple Log Service para o Hologres em tempo real usando o Realtime Compute for Apache Flink ou o DataWorks.

Pré-requisitos

  • O Log Service está ativado, e um projeto e um Logstore foram criados. Para mais informações, consulte Getting Started.

  • Uma instância do Hologres foi adquirida e conectada a uma ferramenta de desenvolvimento. Para mais informações, consulte Procedure to use Hologres.

  • Para usar o Realtime Compute for Apache Flink na gravação de dados do Simple Log Service no Hologres, ative o serviço e crie um projeto. Para mais informações, consulte Activate fully managed Flink e Create and manage a namespace.

  • Para usar o DataWorks na transferência de dados do Log Service para o Hologres, ative o serviço e crie um workspace. Para mais informações, consulte DataWorks purchase guide e Create a workspace.

Informações gerais

O Simple Log Service é uma plataforma nativa da nuvem de observabilidade e análise que oferece serviços em larga escala, de baixo custo e em tempo real para processar diversos tipos de dados, como logs, métricas e rastreamentos. Essa solução permite coletar, processar, consultar, analisar, visualizar, consumir e entregar dados, além de possibilitar a configuração de alertas diretamente no console do Simple Log Service. Assim, o Simple Log Service ajuda as empresas a aprimorar suas capacidades digitais nas áreas de P&D, O&M e segurança de dados.

O Hologres é um mecanismo de computação em tempo real com alto desempenho, alta confiabilidade, eficiência de custos e grande escalabilidade. Ele fornece soluções de data warehouse em tempo real que facilitam o gerenciamento de grandes volumes de dados e serviços de consulta interativa com resposta em frações de segundo. O Hologres é amplamente utilizado em cenários como construção de camadas intermediárias de dados em tempo real, análises detalhadas, autoatendimento analítico, criação de perfis de marketing, segmentação de público e controle de risco em tempo real. A gravação ágil de dados do Simple Log Service no Hologres viabiliza análises e consultas em tempo real, potencializando o uso estratégico dos dados para o seu negócio.

Gravar dados do Simple Log Service no Hologres usando o Realtime Compute for Apache Flink

  1. Prepare os dados no Simple Log Service.

    Neste exemplo, utilizamos dados simulados fornecidos pelo Simple Log Service como source. Esses dados são gerados pela simulação de logons e logs de consumo de uma plataforma de jogos. Você também pode utilizar seus próprios dados comerciais.

    1. Faça login no Simple Log Service console.

    2. Na seção Import Data, clique na aba Simulated Data Import.

    3. Na aba Simulated Data Import, clique em Simulation na seção Game Operation Logs.

    4. Na página Specify Logstore, selecione um project e um Logstore e clique em Next.

    5. Na etapa Simulated Data Import , configure os parâmetros de intervalo de tempo e frequência e clique em Import.

    6. A figura a seguir mostra os campos de simulação e os dados disponíveis para consulta. Para mais informações, consulte Query and analyze logs.

      A coluna content é do tipo JSON. A tabela de resultados contém 131.650 registros simulados de log de login com os seguintes campos: __source__ (valor: 127.0.0.1), __topic__ (valor: game_op_log), content (estrutura JSON contendo o campo auth), operation (valor: login), timestamp e uid (ID de usuário no formato UUID).

  2. Crie uma tabela no Hologres.

    Crie uma tabela no Hologres para receber os dados. É possível criar índices para os campos da tabela conforme suas necessidades de consulta, o que melhora a eficiência das buscas. Para mais informações sobre índices, consulte Overview. Utilize a seguinte instrução DDL para criar a tabela:

    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. Use o Realtime Compute for Apache Flink para gravar dados no Hologres.

    Siga as etapas abaixo para gravar dados do Simple Log Service no Hologres usando o Realtime Compute for Apache Flink:

    1. Leia os dados do Simple Log Service por meio do Realtime Compute for Apache Flink. Para mais informações, consulte Create a Simple Log Service source table.

    2. Grave os dados no Hologres usando o Realtime Compute for Apache Flink. Para mais informações, consulte Create a Hologres result table.

    O exemplo de job SQL a seguir demonstra como gravar dados do Simple Log Service no Hologres por meio do Realtime Compute for Apache Flink. Os campos formatados em JSON são gravados diretamente como o tipo de dado JSON na tabela do Hologres. Esse tipo corresponde ao tipo VARCHAR no Realtime Compute for Apache Flink.

    Nota
    • Para detalhes sobre como criar e executar jobs SQL no Realtime Compute for Apache Flink, consulte Develop an SQL draft e Start a deployment.

    • Se os dados lidos do Simple Log Service contiverem informações em formato JSON, você poderá analisá-los antes de enviá-los ao Realtime Compute for Apache Flink ou gravá-los diretamente do Simple Log Service no Hologres.

    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' = 'Internal endpoint of the Simple Log Service project',-- The internal endpoint that is used to access the Simple Log Service project.
        'accessid'='AccessKey ID of your Alibaba Cloud account',-- The AccessKey ID of your Alibaba Cloud account.
        'accesskey'='AccessKey secret of your Alibaba Cloud account',-- The AccessKey secret of your Alibaba Cloud account.
        'starttime' = '2024-08-30 00:00:00',-- The time at which logs start to be consumed.
        'project'='Project name',-- The name of the Simple Log Service project.
        'logstore'='Logstore name'-- The name of the 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'='Name of the Hologres database',-- The name of the Hologres database. 
        'tablename'='Name of the Hologres table',-- The name of the Hologres table to which you write data. 
        'username'='AccessKey ID of your Alibaba Cloud account',-- The AccessKey ID of your Alibaba Cloud account. 
        'password'='AccessKey secret of your Alibaba Cloud account',-- The AccessKey secret of your Alibaba Cloud account 
        'endpoint'='VPC endpoint of your Hologres instance.'-- The VPC endpoint of your Hologres instance. 
      );
    
    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. Consulte os dados no Hologres.

    Consulte os dados gravados no Hologres provenientes do SLS via Flink. Em seguida, prossiga com o desenvolvimento de dados conforme as necessidades do seu negócio. Execute a instrução SELECT * FROM sls_flink_holo;. Os resultados incluem campos como content, operation, uid, topic, source e c_timestamp. Isso confirma que os dados de log de operações de jogos do SLS, incluindo registros de depósito, logout e login, foram gravados com sucesso no Hologres pelo Flink.

Gravar dados no Hologres usando o DataWorks

  1. Prepare os dados no Simple Log Service.

    Neste exemplo, utilizamos dados simulados fornecidos pelo Simple Log Service como source. Esses dados são gerados pela simulação de logons e logs de consumo de uma plataforma de jogos. Você também pode utilizar seus próprios dados comerciais.

    1. Faça login no Simple Log Service console.

    2. Na seção Import Data, clique na aba Simulated Data Import.

    3. Na aba Simulated Data Import, clique em Simulation na seção Game Operation Logs.

    4. Na página Specify Logstore, selecione um project e um Logstore e clique em Next.

    5. Na etapa Simulated Data Import , configure os parâmetros de intervalo de tempo e frequência e clique em Import.

    6. A figura a seguir mostra os campos de simulação e os dados disponíveis para consulta. Para mais informações, consulte Query and analyze logs.

      A coluna content é do tipo JSON. A tabela de resultados contém 131.650 registros simulados de log de login com os seguintes campos: __source__ (valor: 127.0.0.1), __topic__ (valor: game_op_log), content (estrutura JSON contendo o campo auth), operation (valor: login), timestamp e uid (ID de usuário no formato UUID).

  2. Crie uma tabela no Hologres.

    Crie uma tabela no Hologres para receber os dados. É possível criar índices para os campos da tabela conforme suas necessidades de consulta, o que melhora a eficiência das buscas. Para mais informações sobre índices, consulte Overview. Utilize a seguinte instrução DDL para criar a tabela:

    Nota
    • Neste exemplo, o campo uid está configurado como chave primária para identificar os dados de forma única. Configure a chave primária de acordo com os requisitos do seu negócio.

    • O campo uid também atua como chave de distribuição. Assim, registros com o mesmo valor no campo uid são gravados no mesmo shard, melhorando o desempenho da consulta.

    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. Configure a fonte de dados.

    Antes de gravar dados no Hologres usando o serviço Data Integration do DataWorks, adicione as fontes de dados do Simple Log Service e do Hologres no workspace especificado do DataWorks.

  4. Sincronize dados do Simple Log Service para o Hologres em tempo real.

    Crie um nó de sincronização em tempo real e execute-o no Data Integration. Para mais informações, consulte Create a real-time synchronization node to synchronize incremental data from a single table e O&M for real-time synchronization nodes.

    Neste exemplo, a tarefa de sincronização em tempo real utiliza a fonte de dados Loghub como entrada e a fonte de dados Hologres como saída. Configure os seguintes mapeamentos de campos. Na caixa de diálogo Field Mapping, mapeie os campos de origem para os campos de destino: content→content, operation→operation, uid→uid, C_Topic→c_topic, C_Source→c_source e timestamp→timestamp. Adicione mapeamentos rapidamente clicando em Same-name Mapping ou Same-line Mapping. Após configurar os mapeamentos, clique em OK.

  5. Consulte os dados no Hologres.

    Após o início da execução da tarefa de sincronização em tempo real, consulte os dados do SLS gravados no Hologres pelo Data Integration do DataWorks. No editor SQL, insira a instrução de consulta SELECT * FROM sls_dw_holo; e clique em Run. Os resultados exibirão os dados de log de operações de jogos do SLS gravados na tabela, incluindo campos como content, operation, uid, c_topic, c_source e timestamp.