12 pontos por GN⁺ 2024-10-07 | 2 comentários | Compartilhar no WhatsApp
  • Ferramenta de código aberto para inspeção, consulta, junção, importação e exportação de dados, útil para trabalhar com bancos de dados e documentos
  • Usa uma linguagem de consulta chamada SLQ e oferece suporte a várias fontes e formatos de dados

Principais recursos

  • Comparação de tabelas de banco de dados: é possível usar o comando diff para comparar metadados de origem ou valores de linhas.
  • Importação de dados do Excel para o Postgres: é possível inserir o conteúdo de uma planilha XLSX do Excel em uma nova tabela do Postgres.
  • Visualização de metadados do banco de dados: com a flag --json, é possível exibir esquemas e outros metadados em formato JSON.
  • Obter todos os nomes de colunas de uma tabela MySQL: é possível extrair facilmente os nomes das colunas de uma tabela específica.
  • Executar consultas no SQL Server e inserir os resultados no SQLite: é possível executar consultas no SQL Server e inserir os resultados no SQLite.
  • Exportar todas as tabelas do banco de dados para CSV: é possível extrair nomes de tabelas usando metadados em JSON e gerar cada tabela como um arquivo CSV.

Comandos de fonte

  • Adicionar e gerenciar fontes: fornece comandos para adicionar, ativar, mover, listar, agrupar, pingar ou remover fontes.
  • Comandos para tabelas de banco de dados: fornece comandos convenientes como copiar, recortar e excluir tabelas.

Consulta JSONL

  • Suporte ao formato JSONL: é possível consultar arquivos de log no formato JSON Lines.

Fontes SQL e formatos de saída

  • Bancos de dados suportados: oferece suporte a Postgres, SQLite, MySQL, MariaDB, SQL Server, Azure SQL Edge e outros.
  • Outras fontes: é possível importar dados de formatos como Excel XLSX, CSV, TSV, JSON, JSONA e JSONL.
  • Formatos de saída: é possível gerar saídas em vários formatos, como inserção em bancos de dados SQL, Excel XLSX, CSV, TSV, JSON, JSONL, JSONA, XML, HTML, Markdown e Raw.

Resumo do GN⁺

  • sq é uma ferramenta poderosa para trabalhar com dados de bancos de dados e documentos, oferecendo flexibilidade no processamento de dados com suporte a várias fontes e formatos.
  • Ela pode simplificar tarefas de dados por meio de vários recursos, como movimentação de dados entre bancos, gerenciamento de metadados e conversão de dados para diversos formatos.
  • É útil para desenvolvedores interessados em administração de bancos de dados e processamento de dados, especialmente em projetos que lidam com múltiplas fontes de dados.
  • Ferramentas com funcionalidades semelhantes incluem jq, pandas e Apache Drill.

2 comentários

 
xguru 2024-10-08

SQ - canivete suíço para dados

Eu tinha apresentado isso há três anos e meio, e nesse meio-tempo o número de recursos aumentou bastante.

 
GN⁺ 2024-10-07
Comentários no Hacker News
  • Acho que a linguagem de consulta do JQ não é particularmente atraente. Não entendo por que escolher a linguagem semelhante a XPATH do JQ ao consultar um banco de dados
  • Fico me perguntando se existe alguma ferramenta que receba entrada JSON e permita consultá-la com sintaxe SQL. Isso seria mais atraente para usuários antigos
  • Sugere empacotar Python como um único executável e fazer links simbólicos no estilo Unix para aplicações e módulos
    • Muitos desenvolvedores colocam fatores estéticos no nível mais baixo ao escolher ferramentas. Outros fatores importam mais do que empacotamento ou consistência estética
  • A demo parece dependente demais de estado. O verdadeiro ponto forte do jq é a confiabilidade e a capacidade de entender seu comportamento, e ferramentas dependentes de estado carecem disso
  • Não vejo nada que não possa ser feito com SQL padrão e ferramentas de CLI. Aprender SQL padrão daria um conhecimento mais reutilizável
  • Ferramentas novas são sempre boas. Mesmo que não se tornem mainstream, explorar novas formas de lidar com bancos de dados é sempre positivo
  • Gosto do sq. É útil para fazer rapidamente tarefas simples no banco de dados e gerar saída em CSV ou JSON. Só queria que a linguagem de consulta do sq (SLQ) suportasse correspondência por substring como em ... LIKE "SOME_STRING%" do SQL. Dá para chamar SQL manualmente
  • Li que o Postgres vai ganhar suporte a saída JSON. .wrangle | .data funciona no iPhone 13 mini
  • Eu gostaria de ter tido essa ferramenta quando usava bancos de dados SQL
  • Seria bom ter suporte a TSV nos logs do Zeek