Immagine generata con DALL-E
In un’epoca in cui l’elaborazione analitica dei dati rappresenta la differenza fondamentale tra un’azienda di successo e una no, abbiamo bisogno di uno stack di strumenti in grado di supportare le esigenze. Il progresso della tecnologia ha contribuito a far avanzare tutti questi strumenti di dati di cui abbiamo bisogno, vale a dire DuckDB e MotherDuck.
DuckDB è un sistema di gestione di database SQL Online Analytical Processing (OLAP) open source in-process. Il sistema di database è progettato per gestire rapidamente le query di analisi dei dati, indipendentemente dalla dimensione dei dati. Il sistema implementa l'elaborazione in memoria e i sistemi OLAP che migliorano efficacemente il nostro processo di analisi dei dati.
DuckDB è perfetto per archiviare ed elaborare dati tabulari che coinvolgono l'analisi dei dati (unione di tabelle, aggregazione di dati, ecc.) e quando il nostro flusso di lavoro comporta solitamente cambiamenti significativi nella tabella. D'altra parte, DuckDB non è adatto per attività di dati ad alto volume e più processi simultanei in un database.
Mamma Papera è un servizio DuckDB-in-the-cloud gestito. È gratuito e open source ed è gestito dalla community DuckDB. È un servizio creato collaborando con DuckDB Lab per creare una piattaforma di servizi cloud utilizzabile dal pubblico.
Con una combinazione di DuckDB e Motherduck, possiamo creare un motore di analisi facilmente utilizzabile in ogni scenario. Come lo facciamo? Entriamo nel merito.
Utilizzeremo l'interfaccia utente nativa di MotherDuck per darti un esempio di come funziona il servizio e perché DuckDB è un potente strumento per l'analisi dei dati. Registrati sul sito Web e acquisisci l'account MotherDuck se non l'hai già fatto.
Una volta registrato con successo l'account MotherDuck, verremo indirizzati all'interfaccia utente di MotherDuck. Prova a familiarizzare con l'interfaccia utente e ti renderai conto che l'interfaccia utente è simile al notebook Jupyter se mai ne utilizzerai uno.
Sperimenteremo la potenza di DBduck nell'interfaccia utente di MotherDuck con i dati sullo stipendio di DS Kaggle. Carica i dati utilizzando il pulsante Aggiungi file e verrà visualizzata una nuova cella con la query da eseguire. La query dovrebbe assomigliare a questa.
CREATE OR REPLACE TABLE ds_salaries AS SELECT * FROM read_csv_auto(['ds_salaries.csv']);
Una volta creata la tabella, prova a interrogare i dati con il seguente codice.
select * from my_db.ds_salaries limit 10;
Come puoi vedere, MotherDuck è più o meno come eseguire l'analisi dei dati in Notebook, ma con query SQL. Proviamo la query per eseguire l'analisi dei dati in 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
Puoi eseguire la query nella cella; il risultato della tabella viene mostrato in modo simile all'immagine seguente.
Puoi filtrare i dati, ruotare la tabella o scaricare il risultato con il pulsante di selezione disponibile nell'interfaccia utente.
MotherDuck consente inoltre all'utente di accedere al database tramite Python sul proprio notebook. Dobbiamo installare il pacchetto DuckDB utilizzando il seguente codice.
pip install duckdb==v0.9.2
La versione attuale supportata da MotherDuck è DuckDB 0.9.2; ecco perché abbiamo installato quella versione.
Una volta completata l'installazione, dobbiamo connettere DuckDB con Motherduck. Esistono alcuni modi per autenticare la connessione, ma utilizzeremmo il token del servizio. Questo token viene acquisito nelle impostazioni di MotherDuck.
import duckdb
token = "insert token here"
# initiate the MotherDuck connection
con = duckdb.connect(f'md:?motherduck_token={token}')
Se non impostassimo alcun nome di database, MotherDuck accederebbe utilizzando il database predefinito, che è my_db. Successivamente, utilizziamo la stessa query che abbiamo eseguito in precedenza nel 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()
Vedrai l'output simile alla tabella seguente.
┌─────────────────────────────────────┬───────────────────────┐
│ 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 │
└─────────────────────────────────────────────────────────────┘
Con la query sopra, puoi utilizzare il seguente codice per elaborarli nel Pandas DataFrame.
import pandas as pd
df = con.sql(q).fetchdf()
Infine, puoi caricare un altro set di dati nel database utilizzando la query seguente.
con.sql("CREATE TABLE mytable AS SELECT * FROM '~/filepath.csv'")
La query precedente presuppone che i tuoi dati siano un file CSV. Altre opzioni includono S3 o DuckDB locale nel database MotherDuck.
DuckDB è un sistema di database open source sviluppato appositamente per l'analisi dei dati. Il sistema è progettato per gestire l’elaborazione dei dati in modo rapido ed efficiente. MotherDuck è un servizio basato su cloud gestito open source per DuckDB.
Combinando DuckDB e MotherDuck, possiamo trasformare i nostri laptop in un motore di analisi personale avendo i nostri dati nel cloud ed elaborandoli rapidamente con DuckDB.
Cornellio Yudha Wijaya è un assistente manager di data science e scrittore di dati. Mentre lavora a tempo pieno presso Allianz Indonesia, ama condividere suggerimenti su Python e dati tramite social media e mezzi di scrittura.
- Distribuzione di contenuti basati su SEO e PR. Ricevi amplificazione oggi.
- PlatoData.Network Generativo verticale Ai. Potenzia te stesso. Accedi qui.
- PlatoAiStream. Intelligenza Web3. Conoscenza amplificata. Accedi qui.
- PlatoneESG. Carbonio, Tecnologia pulita, Energia, Ambiente, Solare, Gestione dei rifiuti. Accedi qui.
- Platone Salute. Intelligence sulle biotecnologie e sulle sperimentazioni cliniche. Accedi qui.
- 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
- :ha
- :È
- :non
- :Dove
- 10
- 125
- 15000
- 20
- 25
- 3d
- 7
- 8
- 8000
- 9
- a
- sopra
- accesso
- Il mio account
- acquisire
- acquisito
- attività
- aggiungere
- avanzare
- avanzamento
- aggregazione
- AI
- Tutti
- Allianz
- consente
- già
- anche
- an
- .
- analista
- Analitico
- Analitico
- analitica
- ed
- Un altro
- in qualsiasi
- applicato
- SONO
- AS
- Assistant
- assume
- At
- autenticare
- autonomo
- veicolo autonomo
- disponibile
- BE
- sotto
- fra
- costruito
- affari
- ma
- pulsante
- by
- Materiale
- cella
- Modifiche
- Cloud
- codice
- colonne
- combinazione
- combinando
- comunità
- computer
- Visione computerizzata
- concorrente
- Connettiti
- veloce
- potuto
- creare
- critico
- Corrente
- dati
- analisi dei dati
- analista dati
- Dati Analytics
- ingegnere dei dati
- elaborazione dati
- scienza dei dati
- scienziato di dati
- Banca Dati
- Predefinito
- progettato
- sviluppato
- Costruttori
- DID
- differenza
- do
- fare
- doppio
- scaricare
- in maniera efficace
- in modo efficiente
- motore
- ingegnere
- eccetera
- Etere (ETH)
- EVER
- Ogni
- esempio
- eseguire
- esperimento
- familiarizzare
- pochi
- Compila il
- File
- filtro
- i seguenti
- Nel
- Gratis
- da
- generato
- ottenere
- Dare
- Gruppo
- cura
- maniglia
- Manovrabilità
- avendo
- he
- aiutato
- qui
- Come
- HTTPS
- if
- Immagine
- attrezzi
- competenze
- in
- includere
- Indonesia
- avviare
- install
- installazione
- ai miglioramenti
- comporta
- coinvolgendo
- IT
- join
- Notebook Jupyter
- KDnuggets
- laboratorio
- laptop
- computer portatili
- apprendimento
- piace
- LIMITE
- caricare
- locale
- Guarda
- una
- ama
- macchina
- machine learning
- gestito
- gestione
- sistema di gestione
- direttore
- Media
- molti
- multiplo
- Nome
- cioè
- nativo
- Bisogno
- esigenze
- New
- GENERAZIONE
- taccuino
- of
- on
- ONE
- online
- open source
- Opzioni
- or
- minimo
- Altro
- nostro
- su
- produzione
- pacchetto
- panda
- Partnering
- perfetta
- cronologia
- Perno
- piattaforma
- Platone
- Platone Data Intelligence
- PlatoneDati
- per favore
- energia
- potente
- piuttosto
- in precedenza
- Direttore
- processi
- i processi
- lavorazione
- Prodotto
- Programmatore
- la percezione
- Python
- query
- rapidamente
- prontamente
- rendersi conto
- Indipendentemente
- registro
- sostituire
- riparazioni
- ricercatore
- colpevole
- stipendio
- stesso
- scenario
- Scienze
- Scienziato
- vedere
- select
- prodotti
- servizio
- set
- impostazioni
- Condividi
- dovrebbero
- mostrato
- significativa
- simile
- Allo stesso modo
- Taglia
- Social
- Social Media
- Software
- in particolare
- SQL
- pila
- STAFF
- di successo
- Con successo
- adatto
- supporto
- supporti
- rapidamente
- sistema
- SISTEMI DI TRATTAMENTO
- tavolo
- preso
- Tecnologia
- che
- Il
- Li
- Là.
- Strumenti Bowman per analizzare le seguenti finiture:
- questo
- tempo
- suggerimenti
- a
- token
- strumenti
- prova
- TURNO
- ui
- uso
- Utente
- utilizzando
- generalmente
- veicolo
- versione
- via
- visione
- Prima
- modi
- we
- Sito web
- quando
- quale
- while
- perché
- volere
- con
- flusso di lavoro
- lavoro
- lavori
- sarebbe
- scrittore
- scrittura
- Tu
- Trasferimento da aeroporto a Sharm
- te stesso
- zefiro