Imagem gerada com DALL-E
Numa época em que o processamento analítico de dados é a diferença crítica entre um negócio bem-sucedido ou não, precisamos de uma pilha de ferramentas que possa dar suporte às necessidades. O avanço da tecnologia ajudou a desenvolver todas essas ferramentas de dados de que precisamos, nomeadamente DuckDB e MotherDuck.
DuckDBName é um sistema de gerenciamento de banco de dados SQL Online Analytical Processing (OLAP) de código aberto e em processo. O sistema de banco de dados foi projetado para lidar rapidamente com consultas analíticas de dados, independentemente do tamanho dos dados. O sistema implementa processamento na memória e sistemas OLAP que melhoram efetivamente nosso processo analítico de dados.
DuckDB é perfeito para armazenar e processar dados tabulares envolvendo análise de dados (junção de tabela, agregação de dados, etc.) e quando nosso fluxo de trabalho geralmente envolve mudanças significativas na tabela. Por outro lado, o DuckDB não é adequado para atividades de dados de alto volume e vários processos simultâneos em um banco de dados.
MãePata é um serviço gerenciado DuckDB na nuvem. É de uso gratuito e de código aberto, embora mantido pela comunidade DuckDB. É um serviço desenvolvido em parceria com o DuckDB Lab para criar uma plataforma de serviço em nuvem que o público possa usar.
Com uma combinação de DuckDB e Motherduck, podemos criar um mecanismo analítico que pode ser facilmente utilizado em todos os cenários. Como fazemos isso? Vamos entrar no assunto.
Usaríamos a UI nativa do MotherDuck para dar um exemplo de como o serviço funciona e por que o DuckDB é uma ferramenta poderosa para análise de dados. Por favor, registre-se no site e adquira a conta MotherDuck, caso ainda não o tenha feito.
Depois de registrar-se com sucesso na conta MotherDuck, seremos levados para a interface do MotherDuck. Tente se familiarizar com a IU e você perceberá que ela é semelhante ao Jupyter Notebook, se você usar um.
Experimentaremos o poder do DBduck na UI do MotherDuck com os dados do DS Salary de Kaggle. Faça upload dos dados através do botão Adicionar Arquivos e uma nova célula será mostrada com a consulta a ser executada. A consulta deve ficar assim.
CREATE OR REPLACE TABLE ds_salaries AS SELECT * FROM read_csv_auto(['ds_salaries.csv']);
Depois de criar a tabela, tente consultar os dados com o código a seguir.
select * from my_db.ds_salaries limit 10;
Como você pode ver, MotherDuck é muito parecido com fazer análise de dados no Notebook, mas com consultas SQL. Vamos experimentar a consulta para fazer análise de dados no MotherDuck.
select job_title,
avg(salary_in_usd) as average_salary_in_usd
from my_db.ds_salaries
GROUP BY job_title
ORDER BY job_title
Você pode executar a consulta na célula; o resultado da tabela é mostrado de forma semelhante à imagem abaixo.
Você pode filtrar os dados, dinamizar a tabela ou baixar o resultado com o botão de seleção disponível na IU.
MotherDuck também permite que o usuário acesse o banco de dados via Python em seu Notebook. Precisamos instalar o pacote DuckDB usando o código a seguir.
pip install duckdb==v0.9.2
A versão atual suportada pelo MotherDuck é DuckDB 0.9.2; é por isso que instalamos essa versão.
Quando a instalação for bem-sucedida, precisamos conectar o DuckDB ao Motherduck. Existem algumas maneiras de autenticar a conexão, mas usaríamos o token de serviço. Este token é adquirido nas configurações do MotherDuck.
import duckdb
token = "insert token here"
# initiate the MotherDuck connection
con = duckdb.connect(f'md:?motherduck_token={token}')
Se não definissemos nenhum nome de banco de dados, o MotherDuck acessaria usando o banco de dados padrão, que é my_db. A seguir, vamos usar a mesma consulta que fizemos anteriormente no Notebook.
q = """
select job_title,
avg(salary_in_usd) as average_salary_in_usd
from my_db.ds_salaries
GROUP BY job_title
ORDER BY job_title
"""
con.sql(q).show()
Você verá uma saída semelhante à tabela abaixo.
┌─────────────────────────────────────┬───────────────────────┐
│ job_title │ average_salary_in_usd │
│ varchar │ double │
├─────────────────────────────────────┼───────────────────────┤
│ 3D Computer Vision Researcher │ 21352.25 │
│ AI Developer │ 136666.0909090909 │
│ AI Programmer │ 55000.0 │
│ AI Scientist │ 110120.875 │
│ Analytics Engineer │ 152368.63106796116 │
│ Applied Data Scientist │ 113726.3 │
│ Applied Machine Learning Engineer │ 99875.5 │
│ Applied Machine Learning Scientist │ 109452.83333333333 │
│ Applied Scientist │ 190264.4827586207 │
│ Autonomous Vehicle Technician │ 26277.5 │
│ · │ · │
│ · │ · │
│ · │ · │
│ Principal Data Engineer │ 192500.0 │
│ Principal Data Scientist │ 198171.125 │
│ Principal Machine Learning Engineer │ 190000.0 │
│ Product Data Analyst │ 56497.2 │
│ Product Data Scientist │ 8000.0 │
│ Research Engineer │ 163108.37837837837 │
│ Research Scientist │ 161214.19512195123 │
│ Software Data Engineer │ 62510.0 │
│ Staff Data Analyst │ 15000.0 │
│ Staff Data Scientist │ 105000.0 │
├─────────────────────────────────────┴───────────────────────┤
│ 93 rows (20 shown) 2 columns │
└─────────────────────────────────────────────────────────────┘
Com a consulta acima, você pode usar o código a seguir para processá-los no Pandas DataFrame.
import pandas as pd
df = con.sql(q).fetchdf()
Por último, você pode carregar outro conjunto de dados no banco de dados usando a consulta a seguir.
con.sql("CREATE TABLE mytable AS SELECT * FROM '~/filepath.csv'")
A consulta acima pressupõe que seus dados sejam um arquivo CSV. Outras opções incluem S3 ou DuckDB local para o banco de dados MotherDuck.
DuckDB é um sistema de banco de dados de código aberto desenvolvido especificamente para análise de dados. O sistema foi projetado para lidar com o processamento de dados de forma rápida e eficiente. MotherDuck é um serviço gerenciado de código aberto baseado em nuvem para DuckDB.
Ao combinar DuckDB e MotherDuck, podemos transformar nossos laptops em um mecanismo de análise pessoal, colocando nossos dados na nuvem e processando-os rapidamente com DuckDB.
Cornélio Yudha Wijaya é gerente assistente de ciência de dados e redator de dados. Enquanto trabalhava em período integral na Allianz Indonésia, ele adora compartilhar dicas sobre Python e dados nas mídias sociais e na mídia escrita.
- Conteúdo com tecnologia de SEO e distribuição de relações públicas. Seja amplificado hoje.
- PlatoData.Network Gerativa Vertical Ai. Capacite-se. Acesse aqui.
- PlatoAiStream. Inteligência Web3. Conhecimento Amplificado. Acesse aqui.
- PlatãoESG. Carbono Tecnologia Limpa, Energia, Ambiente, Solar, Gestão de resíduos. Acesse aqui.
- PlatoHealth. Inteligência em Biotecnologia e Ensaios Clínicos. Acesse aqui.
- Fonte: https://www.kdnuggets.com/turn-your-laptop-into-a-personal-analytics-engine-with-duckdb-and-motherduck?utm_source=rss&utm_medium=rss&utm_campaign=turn-your-laptop-into-a-personal-analytics-engine-with-duckdb-and-motherduck
- :tem
- :é
- :não
- :onde
- 10
- 125
- 15000
- 20
- 25
- 3d
- 7
- 8
- 8000
- 9
- a
- acima
- Acesso
- Conta
- adquirir
- adquirido
- atividade
- adicionar
- avançar
- avanço
- agregação
- AI
- Todos os Produtos
- Allianz
- permite
- já
- tb
- an
- análise
- analista
- Analítico
- Análises
- analítica
- e
- Outro
- qualquer
- aplicado
- SOMOS
- AS
- Assistente
- assume
- At
- autenticar
- Autônomo
- veículo autônomo
- disponível
- BE
- abaixo
- entre
- construído
- negócio
- mas a
- botão
- by
- CAN
- célula
- Alterações
- Na nuvem
- código
- colunas
- combinação
- combinando
- comunidade
- computador
- Visão de Computador
- concorrente
- Contato
- da conexão
- poderia
- crio
- crítico
- Atual
- dados,
- análise de dados
- analista de dados
- Análise de Dados
- engenheiro de dados
- informática
- ciência de dados
- cientista de dados
- banco de dados
- Padrão
- projetado
- desenvolvido
- Developer
- DID
- diferença
- do
- fazer
- duplo
- download
- efetivamente
- eficientemente
- Motor
- engenheiro
- etc.
- Éter (ETH)
- SEMPRE
- Cada
- exemplo
- executar
- experimentar
- familiarizar
- poucos
- Envie o
- Arquivos
- filtro
- seguinte
- Escolha
- Gratuito
- da
- gerado
- ter
- OFERTE
- Grupo
- mão
- manipular
- Manipulação
- ter
- he
- ajudou
- SUA PARTICIPAÇÃO FAZ A DIFERENÇA
- Como funciona o dobrador de carta de canal
- HTTPS
- if
- imagem
- implementa
- melhorar
- in
- incluir
- Indonésia
- iniciar
- instalar
- instalação
- para dentro
- envolve
- envolvendo
- IT
- juntar
- Caderno Jupyter
- KDnuggetsGenericName
- laboratório
- laptop
- laptops
- aprendizagem
- como
- LIMITE
- carregar
- local
- olhar
- parece
- ama
- máquina
- aprendizado de máquina
- gerenciados
- de grupos
- Sistema de gestão
- Gerente
- Mídia
- muito
- múltiplo
- nome
- nomeadamente
- nativo
- você merece...
- Cria
- Novo
- Próximo
- caderno
- of
- on
- ONE
- online
- open source
- Opções
- or
- ordem
- Outros
- A Nossa
- Fora
- saída
- pacote
- pandas
- Parceria
- perfeita
- pessoal
- articulação
- plataforma
- platão
- Inteligência de Dados Platão
- PlatãoData
- por favor
- poder
- poderoso
- bastante
- anteriormente
- Diretor
- processo
- processos
- em processamento
- Produto
- Programador
- público
- Python
- consultas
- rapidamente
- prontamente
- perceber
- Independentemente
- cadastre-se
- substituir
- pesquisa
- investigador
- resultar
- salário
- mesmo
- cenário
- Ciência
- Cientista
- Vejo
- selecionar
- doadores,
- serviço
- conjunto
- Configurações
- Partilhar
- rede de apoio social
- mostrando
- periodo
- semelhante
- Similarmente
- Tamanho
- Redes Sociais
- meios de comunicação social
- Software
- especificamente
- SQL
- pilha
- Staff
- bem sucedido
- entraram com sucesso
- adequado
- ajuda
- suportes
- rapidamente
- .
- sistemas
- mesa
- tomado
- Tecnologia
- que
- A
- Eles
- Lá.
- Este
- isto
- tempo
- dicas
- para
- token
- ferramenta
- ferramentas
- tentar
- VIRAR
- ui
- usar
- Utilizador
- utilização
- geralmente
- veículo
- versão
- via
- visão
- foi
- maneiras
- we
- Site
- quando
- qual
- enquanto
- porque
- precisarão
- de
- de gestão de documentos
- trabalhar
- trabalho
- seria
- escritor
- escrita
- Você
- investimentos
- você mesmo
- zefirnet