Skip to main content
Neste guia, vamos começar a usar a versão para Python do chDB. Vamos começar consultando um arquivo JSON no S3 e, em seguida, criar uma tabela no chDB com base nesse arquivo e fazer algumas consultas nos dados. Também veremos como fazer com que as consultas retornem dados em diferentes formatos, incluindo Apache Arrow e Pandas, e, por fim, aprenderemos a consultar DataFrames do pandas.

Configuração

Primeiro, vamos criar um ambiente virtual:
E agora vamos instalar o chDB. Certifique-se de que você esteja usando a versão 2.0.3 ou superior:
E agora, vamos instalar o ipython:
Vamos usar o ipython para executar os comandos no restante do guia, que pode ser iniciado com:
Também vamos usar Pandas e Apache Arrow neste guia, então vamos instalar essas bibliotecas também:

Consultando um arquivo JSON no S3

Agora, vamos ver como consultar um arquivo JSON armazenado em um bucket do S3. O dataset de dislikes do YouTube contém mais de 4 bilhões de linhas de dislikes em vídeos do YouTube até 2021. Vamos trabalhar com um dos arquivos JSON desse dataset. Importe o chDB:
Podemos escrever a seguinte consulta para descrever a estrutura de um dos arquivos JSON:
Também podemos contar o total de linhas nesse arquivo:
Este arquivo contém pouco mais de 300.000 registros. O chDB ainda não oferece suporte a receber parâmetros de consulta, mas podemos extrair o caminho e passá-lo via f-String.
Tudo bem fazer isso com variáveis definidas no seu programa, mas não faça isso com entradas fornecidas pelo usuário; caso contrário, sua consulta ficará vulnerável a injeção de SQL.

Configurando o formato de saída

O formato de saída padrão é CSV, mas podemos alterá-lo por meio do parâmetro output_format. O chDB oferece suporte aos formatos de dados do ClickHouse, bem como a alguns formatos próprios, incluindo DataFrame, que retorna um DataFrame do pandas:
Ou, se quisermos recuperar uma tabela Arrow do Apache:

Criando uma tabela a partir de um arquivo JSON

Em seguida, vamos ver como criar uma tabela no chDB. Precisamos usar uma API diferente para isso, então primeiro vamos importá-la:
Em seguida, vamos inicializar uma sessão. Se quisermos que a sessão seja persistida em disco, precisaremos fornecer um nome de diretório. Se deixarmos em branco, o banco de dados ficará em memória e será perdido assim que encerrarmos o processo do Python.
Em seguida, vamos criar um banco de dados:
Agora podemos criar uma tabela dislikes com base no esquema do arquivo JSON, usando a técnica CREATE...EMPTY AS. Usaremos a configuração schema_inference_make_columns_nullable para que os tipos de coluna não sejam todos convertidos em Nullable.
Podemos então usar a cláusula DESCRIBE para inspecionar o schema:
Em seguida, vamos popular essa tabela:
Também poderíamos fazer essas duas etapas de uma vez só, usando a técnica CREATE...AS. Vamos criar outra tabela usando essa técnica:

Consultando uma tabela

Por fim, vamos consultar a tabela:
Suponha que adicionemos uma coluna extra ao DataFrame para calcular a razão entre curtidas e dislikes. Poderíamos escrever o seguinte código:

Consultando um DataFrame do pandas

Podemos então consultar esse DataFrame com o chDB:
Você também pode ler mais sobre como consultar DataFrames do pandas no guia do desenvolvedor sobre consulta a DataFrames do pandas.

Próximos passos

Esperamos que este guia tenha oferecido uma boa visão geral do chDB. Para saber mais sobre como usá-lo, consulte os seguintes guias para desenvolvedores:
Última modificação em 23 de julho de 2026