Bilde generert med DALL-E
I en tid hvor dataanalytisk prosessering er den kritiske forskjellen mellom en vellykket bedrift og ikke, trenger vi en verktøystabel som kan støtte behovene. Fremskrittet av teknologi har bidratt til å fremme alle disse dataverktøyene vi trenger, nemlig DuckDB og MotherDuck.
DuckDB er et åpen kildekode, i prosess SQL Online Analytical Processing (OLAP) databasebehandlingssystem. Databasesystemet er designet for rask håndtering av dataanalytiske forespørsler, uavhengig av datastørrelsen. Systemet implementerer prosessering i minnet og OLAP-systemer som effektivt forbedrer vår dataanalytiske prosess.
DuckDB er perfekt for lagring og behandling av tabelldata som involverer dataanalyse (tabellsammenføyning, dataaggregering, etc.) og når arbeidsflyten vår vanligvis innebærer betydelige endringer i tabellen. På den annen side er DuckDB ikke egnet for høyvolumsdataaktivitet og flere samtidige prosesser i én database.
Andemor er en administrert DuckDB-in-the-cloud-tjeneste. Det er gratis å bruke og åpen kildekode mens det vedlikeholdes av DuckDB Community. Det er en tjeneste bygget ved å samarbeide med DuckDB Lab for å lage en skytjenesteplattform som publikum kan bruke.
Med en kombinasjon av DuckDB og Motherduck kan vi lage en analysemotor som er lett brukbar i alle scenarier. Hvordan gjør vi det? La oss komme inn i det.
Vi vil bruke det opprinnelige MotherDuck-grensesnittet for å gi deg et eksempel på hvordan tjenesten fungerer og hvorfor DuckDB er et kraftig verktøy for dataanalyse. Registrer deg på nettstedet og skaff deg MotherDuck-kontoen hvis du ikke allerede har gjort det.
Når du har registrert deg for MotherDuck-kontoen, vil vi bli tatt til MotherDuck-grensesnittet. Prøv å gjøre deg kjent med brukergrensesnittet, og du vil innse at brukergrensesnittet ligner på Jupyter Notebook hvis du noen gang bruker en.
Vi vil eksperimentere med DBduck-kraften i MotherDuck-grensesnittet med DS-lønnsdataene fra kaggle. Last opp dataene ved å bruke knappen Legg til filer, og en ny celle vises med spørringen som skal utføres. Spørsmålet skal se slik ut.
CREATE OR REPLACE TABLE ds_salaries AS SELECT * FROM read_csv_auto(['ds_salaries.csv']);
Når du har opprettet tabellen, prøv å spørre etter dataene med følgende kode.
select * from my_db.ds_salaries limit 10;
Som du kan se, er MotherDuck omtrent som å gjøre dataanalyse i Notebook, men med SQL-spørringer. La oss prøve ut spørringen for å gjøre dataanalyse i 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
Du kan utføre spørringen i cellen; tabellresultatet vises på samme måte som bildet nedenfor.
Du kan filtrere ut dataene, pivoter tabellen eller laste ned resultatet med valgknappen som er tilgjengelig i brukergrensesnittet.
MotherDuck lar også brukeren få tilgang til databasen via Python på notatboken. Vi må installere DuckDB-pakken ved å bruke følgende kode.
pip install duckdb==v0.9.2
Den gjeldende versjonen som MotherDuck støtter er DuckDB 0.9.2; det er derfor vi installerte den versjonen.
Når installasjonen er vellykket, må vi koble DuckDB med Motherduck. Det er noen måter å autentisere tilkoblingen på, men vi vil bruke tjenestetokenet. Dette tokenet er anskaffet i MotherDuck-innstillingene dine.
import duckdb
token = "insert token here"
# initiate the MotherDuck connection
con = duckdb.connect(f'md:?motherduck_token={token}')
Hvis vi ikke satte noe databasenavn, ville MotherDuck få tilgang ved å bruke standarddatabasen, som er my_db. La oss deretter bruke det samme søket som vi gjorde tidligere i notatboken.
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()
Du vil se utgangen som ligner på tabellen nedenfor.
┌─────────────────────────────────────┬───────────────────────┐
│ 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 │
└─────────────────────────────────────────────────────────────┘
Med spørringen ovenfor kan du bruke følgende kode for å behandle dem inn i Pandas DataFrame.
import pandas as pd
df = con.sql(q).fetchdf()
Til slutt kan du laste et annet datasett til databasen ved å bruke følgende spørring.
con.sql("CREATE TABLE mytable AS SELECT * FROM '~/filepath.csv'")
Spørringen ovenfor forutsetter at dataene dine er en CSV-fil. Andre alternativer inkluderer S3 eller den lokale DuckDB til MotherDuck-databasen.
DuckDB er et åpen kildekode-databasesystem som ble utviklet spesielt for dataanalyse. Systemet er designet for å håndtere databehandling raskt og effektivt. MotherDuck er en åpen kildekode administrert skybasert tjeneste for DuckDB.
Ved å kombinere DuckDB og MotherDuck kan vi gjøre våre bærbare datamaskiner om til en personlig analysemotor ved å ha dataene våre i skyen og raskt behandle dem med DuckDB.
Cornellius Yudha Wijaya er assistentleder for datavitenskap og dataskribent. Mens han jobber på heltid i Allianz Indonesia, elsker han å dele Python- og Data-tips via sosiale medier og skrivemedier.
- SEO-drevet innhold og PR-distribusjon. Bli forsterket i dag.
- PlatoData.Network Vertical Generative Ai. Styrk deg selv. Tilgang her.
- PlatoAiStream. Web3 Intelligence. Kunnskap forsterket. Tilgang her.
- PlatoESG. Karbon, CleanTech, Energi, Miljø, Solenergi, Avfallshåndtering. Tilgang her.
- PlatoHelse. Bioteknologisk og klinisk etterretning. Tilgang her.
- kilde: 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
- : har
- :er
- :ikke
- :hvor
- 10
- 125
- 15000
- 20
- 25
- 3d
- 7
- 8
- 8000
- 9
- a
- ovenfor
- adgang
- Logg inn
- erverve
- ervervet
- aktivitet
- legge til
- avansere
- forfremmelse
- aggregering
- AI
- Alle
- Allianz
- tillater
- allerede
- også
- an
- analyse
- analytiker
- analytisk
- Analytisk
- analytics
- og
- En annen
- noen
- anvendt
- ER
- AS
- Assistent
- antar
- At
- godkjenne
- autonom
- autonome kjøretøy
- tilgjengelig
- BE
- under
- mellom
- bygget
- virksomhet
- men
- knapp
- by
- CAN
- celle
- Endringer
- Cloud
- kode
- kolonner
- kombinasjon
- kombinere
- samfunnet
- datamaskin
- Datamaskin syn
- samtidig
- Koble
- tilkobling
- kunne
- skape
- kritisk
- Gjeldende
- dato
- dataanalyse
- data analytiker
- Data Analytics
- dataingeniør
- databehandling
- datavitenskap
- dataforsker
- Database
- Misligholde
- designet
- utviklet
- Utvikler
- gJORDE
- forskjell
- do
- gjør
- dobbelt
- nedlasting
- effektivt
- effektivt
- Motor
- ingeniør
- etc
- Eter (ETH)
- NOEN GANG
- Hver
- eksempel
- henrette
- eksperiment
- lest
- Noen få
- filet
- Filer
- filtrere
- etter
- Til
- Gratis
- fra
- generert
- få
- Gi
- Gruppe
- hånd
- håndtere
- Håndtering
- å ha
- he
- hjulpet
- her.
- Hvordan
- HTTPS
- if
- bilde
- redskaper
- forbedre
- in
- inkludere
- Indonesia
- initiere
- installere
- installasjon
- inn
- innebærer
- involverer
- IT
- bli medlem
- Jupyter Notebook
- KDnuggets
- lab
- laptop
- bærbare datamaskiner
- læring
- i likhet med
- BEGRENSE
- laste
- lokal
- Se
- ser ut som
- elsker
- maskin
- maskinlæring
- fikk til
- ledelse
- styringssystem
- leder
- Media
- mye
- flere
- navn
- nemlig
- innfødt
- Trenger
- behov
- Ny
- neste
- bærbare
- of
- on
- ONE
- på nett
- åpen kildekode
- alternativer
- or
- rekkefølge
- Annen
- vår
- ut
- produksjon
- pakke
- pandaer
- partnering
- perfekt
- personlig
- Pivot
- plattform
- plato
- Platon Data Intelligence
- PlatonData
- vær så snill
- makt
- kraftig
- pen
- tidligere
- Principal
- prosess
- Prosesser
- prosessering
- Produkt
- Programmerer
- offentlig
- Python
- spørsmål
- raskt
- lett
- realisere
- Uansett
- registrere
- erstatte
- forskning
- forsker
- resultere
- lønn
- samme
- scenario
- Vitenskap
- Forsker
- se
- velg
- utvalg
- tjeneste
- sett
- innstillinger
- Del
- bør
- vist
- signifikant
- lignende
- på samme måte
- Størrelse
- selskap
- sosiale medier
- Software
- spesielt
- SQL
- stable
- Staff
- vellykket
- vellykket
- egnet
- støtte
- Støtter
- raskt
- system
- Systemer
- bord
- tatt
- Teknologi
- Det
- De
- Dem
- Der.
- Disse
- denne
- tid
- tips
- til
- token
- verktøy
- verktøy
- prøve
- SVING
- ui
- bruke
- Bruker
- ved hjelp av
- vanligvis
- kjøretøy
- versjon
- av
- syn
- var
- måter
- we
- Nettsted
- når
- hvilken
- mens
- hvorfor
- vil
- med
- arbeidsflyt
- arbeid
- virker
- ville
- forfatter
- skriving
- du
- Din
- deg selv
- zephyrnet