Todos os produtos
Search
Central de documentação

Hologres:Migrar dados do ClickHouse

Última atualização: Jun 28, 2026

O Hologres é um data warehouse em tempo real totalmente gerenciado e compatível com PostgreSQL. Este guia orienta a migração de schemas, dados e consultas de uma instância auto-gerenciada do ClickHouse para o Hologres.

Pré-requisitos

Antes de começar, verifique se você tem:

Contexto

O ClickHouse é um sistema de gerenciamento de banco de dados (DBMS) orientado a colunas, projetado para processamento analítico online (OLAP). O Hologres expande essa capacidade com compatibilidade com PostgreSQL, consultas pontuais de alto QPS (consultas por segundo), suporte completo a JOIN entre múltiplas tabelas e um otimizador baseado em custo (CBO). A tabela abaixo resume as principais diferenças.

Categoria

Critério

ClickHouse

Hologres

Produto

Finalidade

Análise de tráfego de rede

Data warehouse em tempo real de uso geral: análise de dados e serviços online

Escrita

Armazenamento

Armazenamento em colunas

Armazenamento em colunas e linhas

Visibilidade da escrita

Nível de segundos (requer batching no lado do cliente; escritas em tabelas distribuídas dependem da conclusão da replicação do shard)

Nível de milissegundos (batching de escrita adaptativo; consultável imediatamente após a escrita)

Desempenho de escrita

Alto

Muito alto

Armazenamento de detalhes

Suportado

Suportado

Chave primária

Não é uma chave primária de banco de dados verdadeira (sem restrição de unicidade; usada apenas para indexação e agregação)

Chave primária de banco de dados padrão com suporte a restrição de unicidade

Atualizável

Incompleto (não suporta atualizações de alto QPS baseadas em chaves primárias)

Totalmente suportado (suporta atualizações de alto QPS baseadas em chaves primárias)

Escrita em tempo real

Append

Append / insert or ignore / insert or replace / update

Índice

primary key, minmax, ngram, token, bloom filter

bitmap, dictionary, segment, primary, clustering (cria automaticamente índices minmax, bloom filter e ngram)

Consulta

Otimizador

Otimizador baseado em regras (RBO)

Otimizador baseado em custo (CBO)

Consulta federada

Suportado (HDFS e Kafka)

Suportado (FDW lê MaxCompute e Hive diretamente)

Pré-agregação

Suportado (via MergeTree)

Suportado (via stored procedures e jobs agendados)

Consulta pontual de alto QPS

Não suportado

Suportado; QPS excede dezenas de milhões

Consulta complexa de tabela única

Bom

Bom

JOIN de múltiplas tabelas

Fraco

Bom

Sintaxe SQL

Sintaxe personalizada

Compatível com PostgreSQL

Funções de janela

Não suportado

Suportado

Transação

ACID

Não (consistência eventual; sem garantia de consultabilidade imediata)

Limitado (transações DDL, transações de linha única, visibilidade baseada em snapshot)

Recuperação de desastres

Backup

Replicação via ZooKeeper + ClickHouse

Replicação lógica via Binlog; replicação física via mecanismos subjacentes

Recursos avançados

Binlog

Nenhum

Suportado

Busca vetorial

Suportado (ClickHouse 22.8+)

Suportado

Dados espaciais

Não suportado

Suportado

Segurança

Permissões personalizadas

Modelo de permissão compatível com PostgreSQL com listas de permissões de IP e mascaramento de dados

Separação armazenamento-computação

Não separado; limitado pela capacidade de nó único

Separado; capacidade de armazenamento quase ilimitada

Disponibilidade

Failover manual

Recuperação automática de failover

O&M

Complexo (distribuição manual de shards)

Totalmente gerenciado

Ecossistema

Ingestão de dados

Kafka, Flink, Spark

Flink, Spark, JDBC, DataX

Ferramentas de BI

Limitado (Tableau, Superset)

Ecossistema PostgreSQL; suporta mais de 100 ferramentas de BI principais

Mapeamento de tipos de dados

ClickHouse e Hologres utilizam sistemas de tipos diferentes. As tabelas abaixo mapeiam cada tipo do ClickHouse para seu equivalente no Hologres e destacam pontos de atenção durante a conversão.

Tipos numéricos

O ClickHouse oferece tipos inteiros com e sem sinal em várias precisões. O Hologres usa a hierarquia padrão de inteiros SQL. Diferença principal: o ClickHouse não possui um tipo Boolean nativo; o Hologres suporta BOOLEAN nativamente.

Tipo ClickHouse

Tipo Hologres

Observações

Int8

SMALLINT

INT de byte único não é suportado; use SMALLINT

Int16

SMALLINT

Int32

INT

Int64

BIGINT

UInt8

INT

UInt16

INT

UInt32

BIGINT

UInt64

BIGINT

Valores UInt64 próximos ao máximo (18.446.744.073.709.551.615) excedem o intervalo do BIGINT; valide os dados antes de migrar

Float32

FLOAT

Float64

DOUBLE PRECISION

Decimal(P, S)

DECIMAL

Decimal32(S)

DECIMAL

Decimal64(S)

DECIMAL

Decimal128(S)

DECIMAL

Boolean

BOOLEAN

O ClickHouse não possui tipo Boolean; use UInt8 no ClickHouse para representar valores booleanos

Tipos de string e caractere

O ClickHouse armazena todos os dados de string como bytes brutos com o tipo String. O Hologres mapeia isso para TEXT. O LowCardinality é uma otimização de armazenamento do ClickHouse sem equivalente direto no Hologres. Após a migração, ative a codificação de dicionário manualmente nas colunas correspondentes.

Tipo ClickHouse

Tipo Hologres

Observações

String

TEXT

FixString(N)

TEXT

Strings de comprimento fixo tornam-se de comprimento variável; não há equivalente de string de comprimento fixo no Hologres

LowCardinality(T)

TEXT (ou tipo subjacente)

Não suportado como tipo nativo. Após a migração, ative a codificação de dicionário manualmente: CALL set_table_property('table', 'dictionary_encoding_columns', 'col');

Tipos de data e hora

O ClickHouse usa Date e várias variantes de DateTime. O Hologres mapeia todos os tipos com fuso horário para TIMESTAMPTZ.

Tipo ClickHouse

Tipo Hologres

Observações

Date

Date

DateTime

TIMESTAMPTZ

DateTime(timezone)

TIMESTAMPTZ

DateTime64

TIMESTAMPTZ

Tipos complexos e outros

Estruturas aninhadas no ClickHouse (como Nested e Tuple) são convertidas em arrays no Hologres. Para dados binários, escolha o tipo do Hologres conforme seu caso de uso.

Tipo ClickHouse

Tipo Hologres

Observações

UUID

UUID

Enum

TEXT

Não suportado como tipo nativo; use TEXT

Nested, Tuple, Array

Array

Tipos aninhados são convertidos em arrays

Binary

BIT(n), VARBIT(n), BYTEA, CHAR(n)

Escolha conforme o caso de uso

Migrar schemas

A migração de schema converte instruções de linguagem de definição de dados (DDL) do ClickHouse para DDL do Hologres (compatível com PostgreSQL). Siga as etapas abaixo.

Etapa 1: Listar todos os bancos de dados

Execute o comando a seguir no cliente do ClickHouse para listar os bancos de dados na instância de origem.

clickhouse-client --host="<host>" --port="<port>" --user="<username>" --password="<password>" \
  --query="SHOW databases" > database.list
O banco de dados system aparece nos resultados, mas não precisa ser migrado. Filtre-o.

Parâmetro

Descrição

<host>

Endereço da instância do ClickHouse de origem

<port>

Porta da instância do ClickHouse de origem

<username>

Conta com permissões de leitura/gravação DML, configurações e DDL

<password>

Senha da conta

Etapa 2: Listar todas as tabelas

Execute o comando a seguir no cliente do ClickHouse para listar as tabelas em um banco de dados específico.

clickhouse-client --host="<host>" --port="<port>" --user="<username>" --password="<password>" \
  --query="SHOW tables from <database_name>" > table.list
Tabelas que começam com .inner. são tabelas internas para visualizações materializadas e não precisam ser migradas. Filtre-as.

Para listar todos os bancos de dados e tabelas simultaneamente, consulte a tabela de metadados system.tables:

SELECT DISTINCT database, name FROM system.tables WHERE database != 'system';

Etapa 3: Exportar DDL da tabela

Exporte o DDL de cada tabela que deseja migrar.

clickhouse-client --host="<host>" --port="<port>" --user="<username>" --password="<password>" \
  --query="SHOW CREATE TABLE <database_name>.<table_name>" > table.sql

Alternativamente, consulte system.tables diretamente para inspecionar o DDL e os metadados de todas as tabelas não distribuídas:

SELECT * FROM system.tables
WHERE database = '<database_name>' AND engine != 'Distributed';

A tabela a seguir explica como cada campo de system.tables mapeia para conceitos do Hologres.

Campo

Regra de mapeamento

database

Bancos de dados do ClickHouse mapeiam para schemas no Hologres. CREATE DATABASE "<db>"; torna-se CREATE SCHEMA "<schema>";

name

Nome da tabela; nenhuma alteração necessária

engine

O Hologres não distingue tabelas Local/Distributed. Filtre linhas onde engine = 'Distributed'

is_temporary

Tabelas temporárias não precisam ser migradas. O Hologres não suporta tabelas temporárias

data_paths, metadata_path, metadata_modification_time

Ignorar

dependencies_database, dependencies_table

Crie visualizações com dependências antes das tabelas base. O Hologres não suporta visualizações materializadas

create_table_query

DDL de origem; converta para DDL do Hologres (sintaxe PostgreSQL)

engine_full

Ignorar

partition_key

Mapeia para a chave de partição no Hologres. Se partition_key for col1, adicione PARTITION BY LIST (col1) ao DDL do Hologres

sorting_key

Mapeia para índices de chave de segmento e chave de clustering no Hologres

primary_key

Mapeia para a cláusula PRIMARY KEY no DDL do Hologres

sampling_key

O Hologres não suporta amostragem; ignorar

storage_policy

Ignorar

Etapa 4: Converter DDL do ClickHouse para DDL do Hologres

Aplique os mapeamentos de tipos e as regras de conversão de campos para converter o DDL de cada tabela. Os exemplos a seguir usam tabelas de benchmark TPC-H.

Exemplo: tabela lineitem

DDL do ClickHouse:

-- lineitem on ClickHouse
CREATE TABLE lineitem_local ON CLUSTER default(
  l_orderkey            UInt64,
  l_partkey             UInt32,
  l_suppkey             UInt32,
  l_linenumber          UInt32,
  l_quantity            decimal(15,2),
  l_extendedprice       decimal(15,2),
  l_discount            decimal(15,2),
  l_tax                 decimal(15,2),
  l_returnflag          LowCardinality(String),
  l_linestatus          LowCardinality(String),
  l_shipdate            Date,
  l_commitdate          Date,
  l_receiptdate         Date,
  l_shipinstruct        LowCardinality(String),
  l_shipmode            LowCardinality(String),
  l_comment             LowCardinality(String)
) ENGINE = MergeTree
PARTITION BY toYear(l_shipdate)
ORDER BY (l_orderkey, l_linenumber);

CREATE TABLE lineitem ON CLUSTER default AS lineitem_local
ENGINE = Distributed(default, default, lineitem_local, l_orderkey);

DDL convertido para Hologres:

-- lineitem on Hologres
-- Create a table group with 32 shards
CALL hg_create_table_group ('lineitem_tg', 32);
BEGIN;
CREATE TABLE LINEITEM (
    L_ORDERKEY      BIGINT        NOT NULL,
    L_PARTKEY       INT           NOT NULL,
    L_SUPPKEY       INT           NOT NULL,
    L_LINENUMBER    INT           NOT NULL,
    L_QUANTITY      DECIMAL(15,2) NOT NULL,
    L_EXTENDEDPRICE DECIMAL(15,2) NOT NULL,
    L_DISCOUNT      DECIMAL(15,2) NOT NULL,
    L_TAX           DECIMAL(15,2) NOT NULL,
    L_RETURNFLAG    TEXT          NOT NULL,
    L_LINESTATUS    TEXT          NOT NULL,
    L_SHIPDATE      TIMESTAMPTZ   NOT NULL,
    L_COMMITDATE    TIMESTAMPTZ   NOT NULL,
    L_RECEIPTDATE   TIMESTAMPTZ   NOT NULL,
    L_SHIPINSTRUCT  TEXT          NOT NULL,
    L_SHIPMODE      TEXT          NOT NULL,
    L_COMMENT       TEXT          NOT NULL,
    PRIMARY KEY (L_ORDERKEY, L_LINENUMBER)
);
-- sorting_key (l_orderkey, l_linenumber) maps to clustering key and segment key
CALL set_table_property('LINEITEM', 'clustering_key', 'L_SHIPDATE,L_ORDERKEY');
CALL set_table_property('LINEITEM', 'segment_key', 'L_SHIPDATE');
CALL set_table_property('LINEITEM', 'table_group', 'lineitem_tg');
CALL set_table_property('LINEITEM', 'distribution_key', 'L_ORDERKEY');
-- LowCardinality columns: enable bitmap and dictionary encoding
CALL set_table_property('LINEITEM', 'bitmap_columns', 'L_RETURNFLAG,L_LINESTATUS,L_SHIPINSTRUCT,L_SHIPMODE,L_COMMENT');
CALL set_table_property('LINEITEM', 'dictionary_encoding_columns', 'L_RETURNFLAG,L_LINESTATUS,L_SHIPINSTRUCT,L_SHIPMODE,L_COMMENT');
CALL set_table_property('LINEITEM', 'time_to_live_in_seconds', '31536000');
COMMIT;

Exemplo: tabela customer

DDL do ClickHouse:

-- customer on ClickHouse
CREATE TABLE customer_local ON CLUSTER default(
  c_custkey     UInt32,
  c_name        String,
  c_address     String,
  c_nationkey   UInt32,
  c_phone       LowCardinality(String),
  c_acctbal     decimal(15,2),
  c_mktsegment  LowCardinality(String),
  c_comment     LowCardinality(String)
) ENGINE = MergeTree
ORDER BY (c_custkey);

CREATE TABLE customer ON CLUSTER default AS customer_local
ENGINE = Distributed(default, default, customer_local, c_custkey);

DDL convertido para Hologres:

-- customer on Hologres
BEGIN;
CREATE TABLE CUSTOMER (
    C_CUSTKEY    INT           NOT NULL PRIMARY KEY,
    C_NAME       TEXT          NOT NULL,
    C_ADDRESS    TEXT          NOT NULL,
    C_NATIONKEY  INT           NOT NULL,
    C_PHONE      TEXT          NOT NULL,
    C_ACCTBAL    DECIMAL(15,2) NOT NULL,
    C_MKTSEGMENT TEXT          NOT NULL,
    C_COMMENT    TEXT          NOT NULL
);
CALL set_table_property('CUSTOMER', 'distribution_key', 'C_CUSTKEY');
CALL set_table_property('CUSTOMER', 'table_group', 'lineitem_tg');
CALL set_table_property('CUSTOMER', 'bitmap_columns', 'C_CUSTKEY,C_NATIONKEY,C_NAME,C_ADDRESS,C_PHONE,C_MKTSEGMENT,C_COMMENT');
CALL set_table_property('CUSTOMER', 'dictionary_encoding_columns', 'C_NAME,C_ADDRESS,C_PHONE,C_MKTSEGMENT,C_COMMENT');
CALL set_table_property('CUSTOMER', 'time_to_live_in_seconds', '31536000');
COMMIT;

Etapa 5: Importar DDL para o Hologres

Execute o comando a seguir no cliente psql para aplicar o DDL convertido na instância do Hologres de destino.

PGUSER="<username>" PGPASSWORD="<password>" psql \
  -h "<host>" -p "<port>" -d "<database_name>" -f table.sql

Migrar dados

Há três métodos disponíveis. Escolha conforme o volume de dados, os requisitos de latência e as ferramentas existentes.

Método

Mais indicado para

Ferramentas

Exportar para CSV e usar COPY (recomendado)

Migração em lote única; configuração simples; sem necessidade de infraestrutura adicional

Cliente ClickHouse + psql

Job Flink ou Spark

Migração em grande escala; sincronização em tempo real ou incremental; equipes com infraestrutura Flink/Spark existente

Flink, Spark

Data Integration do DataWorks ou DataX

Migração gerenciada sem código personalizado; sincronização offline de banco de dados completo

DataWorks, DataX

Para Flink e Spark, consulte Importar dados usando Spark. Para o Data Integration do DataWorks, consulte Data Integration e Sincronizar um banco de dados ClickHouse inteiro para o Hologres offline.

As etapas a seguir descrevem a abordagem de exportação para CSV e COPY.

Etapa 1: Exportar dados do ClickHouse para CSV

O formato CSV é recomendado pela simplicidade e amplo suporte a ferramentas. Para tabelas com tipos aninhados complexos ou decimais de alta precisão, valide os valores exportados antes do carregamento, pois o CSV não preserva metadados de tipo.

Execute o comando a seguir no cliente do ClickHouse para exportar os dados da tabela para um arquivo CSV local.

clickhouse-client --host="<host>" --port="<port>" --user="<username>" --password="<password>" \
  --query="SELECT * FROM <database_name>.<table_name> FORMAT CSV" > table.csv

Parâmetro

Descrição

<host>

Endereço da instância do ClickHouse de origem

<port>

Porta da instância do ClickHouse de origem

<username>

Conta com permissões de leitura/gravação DML, configurações e DDL

<password>

Senha da conta

<database_name>

Nome do banco de dados que contém a tabela a migrar

<table_name>

Nome da tabela a migrar

Etapa 2: Importar o arquivo CSV para o Hologres

Execute o comando a seguir no cliente psql para carregar o arquivo CSV na tabela do Hologres de destino.

PGUSER="<username>" PGPASSWORD="<password>" psql \
  -h "<host>" -p "<port>" -d "<database_name>" \
  -c "COPY <schema_name>.<table_name> FROM STDIN (FORMAT 'csv')" < table.csv

Parâmetro

Descrição

<username>

AccessKey ID da sua conta Alibaba Cloud. Obtenha-o em AccessKey Management

<password>

AccessKey secret da sua conta Alibaba Cloud. Obtenha-o em AccessKey Management

<host>

Endpoint da instância do Hologres. Encontre-o na página de detalhes da instância, em Network Information, no Management Console

<port>

Porta da instância do Hologres. Encontre-a em Network Information no Management Console

<database_name>

Nome do banco de dados de destino na instância do Hologres

<schema_name>

Nome do schema de destino. O padrão é public se não especificado

<table_name>

Nome da tabela de destino no Hologres

Etapa 3: Verificar a importação

Consulte a tabela importada no Hologres para confirmar se os dados foram carregados corretamente.

SELECT COUNT(*) FROM <schema_name>.<table_name>;

Migrar consultas

O Hologres usa sintaxe PostgreSQL, enquanto o ClickHouse utiliza seu próprio dialeto SQL. A maioria das instruções é compatível, mas funções escalares, funções de agregação e aspas de identificadores diferem.

Diferenças de sintaxe

Área

ClickHouse

Hologres

Identificadores de string

'column_name' (aspas simples)

"column_name" (aspas duplas)

Referência de tabela

SELECT x FROM <database>.<table>

SELECT x FROM <schema>.<table>

Equivalências de funções

Funções não listadas abaixo possuem sintaxe idêntica em ambos os sistemas.

ClickHouse

Hologres

toYear(expr)

to_char(expr, 'YYYY')

toInt32(expr)

CAST(expr AS INTEGER)

uniq(), uniqCombined(), uniqCombined64(), uniqHLL12()

approx_count_distinct()

uniqExact()

count(DISTINCT x)

quantile(level)(expr)

approx_percentile(level) WITHIN GROUP (ORDER BY expr)

quantileExact(level)(expr)

percentile_cont(level) WITHIN GROUP (ORDER BY expr)

toDecimal32(val, scale)

Use um literal numérico diretamente (ex.: 0.0000010000)

Estratégias de migração

Substituição por expressão regular: use regex para substituir padrões fixos, como nomes de funções, aspas de identificadores e referências <database>.<table> pelos equivalentes no Hologres.

Extensão ClickHouse: o Hologres fornece uma Extensão ClickHouse que suporta nativamente algumas funções do ClickHouse, como toUInt32(), sem necessidade de conversão. Consulte Funções compatíveis com ClickHouse.

Exemplos de migração de consultas

Os exemplos a seguir usam consultas de benchmark TPC-H. Cada exemplo destaca um padrão específico de migração.

Exemplo 1: Agregação simples — nenhuma alteração necessária

Para agregações diretas que usam funções SQL padrão, as consultas do ClickHouse e do Hologres são idênticas.

ClickHouse (Q1):

SELECT
  l_returnflag,
  l_linestatus,
  sum(l_quantity) AS sum_qty,
  sum(l_extendedprice) AS sum_base_price,
  sum(l_extendedprice * (1 - l_discount)) AS sum_disc_price,
  sum(l_extendedprice * (1 - l_discount) * (1 + l_tax)) AS sum_charge,
  avg(l_quantity) AS avg_qty,
  avg(l_extendedprice) AS avg_price,
  avg(l_discount) AS avg_disc,
  count(*) AS count_order
FROM lineitem
WHERE l_shipdate <= date '1998-12-01' - interval '90' day
GROUP BY l_returnflag, l_linestatus
ORDER BY l_returnflag, l_linestatus;

Hologres (Q1) — sem alterações:

SELECT
  l_returnflag,
  l_linestatus,
  sum(l_quantity) AS sum_qty,
  sum(l_extendedprice) AS sum_base_price,
  sum(l_extendedprice * (1 - l_discount)) AS sum_disc_price,
  sum(l_extendedprice * (1 - l_discount) * (1 + l_tax)) AS sum_charge,
  avg(l_quantity) AS avg_qty,
  avg(l_extendedprice) AS avg_price,
  avg(l_discount) AS avg_disc,
  count(*) AS count_order
FROM lineitem
WHERE l_shipdate <= date '1998-12-01' - interval '90' day
GROUP BY l_returnflag, l_linestatus
ORDER BY l_returnflag, l_linestatus;

Exemplo 2: Reescrita de subconsulta — IN para EXISTS

O ClickHouse suporta IN (subquery) com referências cruzadas entre tabelas de uma forma que o Hologres não suporta. Reescreva usando EXISTS.

ClickHouse (Q4):

SELECT
  o_orderpriority,
  count(*) AS order_count
FROM orders
WHERE o_orderdate >= date '1993-07-01'
  AND o_orderdate < date '1993-07-01' + interval '3' month
  AND o_orderdate IN (
    SELECT o_orderdate
    FROM lineitem, orders
    WHERE l_orderkey = o_orderkey
      AND l_commitdate < l_receiptdate
  )
GROUP BY o_orderpriority
ORDER BY o_orderpriority;

Hologres (Q4) — IN (subquery) substituído por EXISTS:

SELECT
  o_orderpriority,
  count(*) AS order_count
FROM orders
WHERE o_orderdate >= date '1993-07-01'
  AND o_orderdate < date '1993-07-01' + interval '3' month
  AND EXISTS (
    SELECT *
    FROM lineitem
    WHERE l_orderkey = o_orderkey
      AND l_commitdate < l_receiptdate
  )
GROUP BY o_orderpriority
ORDER BY o_orderpriority;

Exemplo 3: Substituição de função — toDecimal32() para um literal

A função toDecimal32(value, scale) do ClickHouse não possui equivalente no Hologres. Substitua-a por um literal numérico simples.

ClickHouse (Q11):

SELECT
  ps_partkey,
  sum(ps_supplycost * ps_availqty) AS value
FROM partsupp, supplier, nation
WHERE ps_suppkey = s_suppkey
  AND s_nationkey = n_nationkey
  AND n_name = 'GERMANY'
GROUP BY ps_partkey
HAVING sum(ps_supplycost * ps_availqty) > (
  SELECT sum(ps_supplycost * ps_availqty) * toDecimal32(0.0000010000, 9)
  FROM partsupp, supplier, nation
  WHERE ps_suppkey = s_suppkey
    AND s_nationkey = n_nationkey
    AND n_name = 'GERMANY'
)
ORDER BY value DESC
LIMIT 100;

Hologres (Q11) — toDecimal32(0.0000010000, 9) substituído por 0.0000010000:

SELECT
  ps_partkey,
  sum(ps_supplycost * ps_availqty) AS value
FROM partsupp, supplier, nation
WHERE ps_suppkey = s_suppkey
  AND s_nationkey = n_nationkey
  AND n_name = 'GERMANY'
GROUP BY ps_partkey
HAVING sum(ps_supplycost * ps_availqty) > (
  SELECT sum(ps_supplycost * ps_availqty) * 0.0000010000
  FROM partsupp, supplier, nation
  WHERE ps_suppkey = s_suppkey
    AND s_nationkey = n_nationkey
    AND n_name = 'GERMANY'
)
ORDER BY value DESC
LIMIT 100;

Compatibilidade de funções

Hologres e ClickHouse compartilham muitas funções básicas com sintaxe idêntica. Para funções diferentes, o Hologres fornece um equivalente nativo ou uma alternativa semanticamente idêntica. Para a lista completa de compatibilidade, consulte Funções compatíveis com ClickHouse.

Próximos passos