Bild genererad med DALL-E
I en tid där dataanalytisk bearbetning är den avgörande skillnaden mellan ett framgångsrikt företag och inte, behöver vi en verktygsstapel som kan stödja behoven. Teknikens framsteg har hjälpt till att utveckla alla dessa dataverktyg som vi behöver, nämligen DuckDB och MotherDuck.
DuckDB är ett SQL Online Analytical Processing (OLAP) databashanteringssystem som är igång med öppen källkod. Databassystemet är designat för att snabbt hantera dataanalytiska frågor, oavsett datastorlek. Systemet implementerar bearbetning i minnet och OLAP-system som effektivt förbättrar vår dataanalytiska process.
DuckDB är perfekt för att lagra och bearbeta tabelldata som involverar dataanalys (tabellkoppling, dataaggregation etc.) och när vårt arbetsflöde vanligtvis innebär betydande förändringar i tabellen. Å andra sidan är DuckDB inte lämplig för dataaktivitet med stora volymer och flera samtidiga processer i en databas.
Ankamor är en hanterad DuckDB-in-the-cloud-tjänst. Den är gratis att använda och öppen källkod medan den underhålls av DuckDB-gemenskapen. Det är en tjänst byggd genom att samarbeta med DuckDB Lab för att skapa en molntjänstplattform som allmänheten kan använda.
Med en kombination av DuckDB och Motherduck kan vi skapa en analysmotor som är lätt att använda i varje scenario. Hur gör vi det? Låt oss gå in i det.
Vi skulle använda det inbyggda MotherDuck-gränssnittet för att ge dig ett exempel på hur tjänsten fungerar och varför DuckDB är ett kraftfullt verktyg för dataanalys. Vänligen registrera dig på webbplatsen och skaffa MotherDuck-kontot om du inte redan har gjort det.
När du har registrerat dig för MotherDuck-kontot kommer vi att tas till MotherDuck-gränssnittet. Försök att bekanta dig med användargränssnittet så kommer du att inse att användargränssnittet liknar Jupyter Notebook om du någonsin använder en.
Vi kommer att experimentera med DBduck-kraften i MotherDuck-gränssnittet med DS-lönedata från Kaggle. Ladda upp data med knappen Lägg till filer och en ny cell visas med frågan som ska köras. Frågan ska se ut så här.
CREATE OR REPLACE TABLE ds_salaries AS SELECT * FROM read_csv_auto(['ds_salaries.csv']);
När du har skapat tabellen, försök att fråga informationen med följande kod.
select * from my_db.ds_salaries limit 10;
Som du kan se är MotherDuck ungefär som att göra dataanalys i Notebook, men med SQL-frågor. Låt oss prova frågan för att göra dataanalys 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 köra frågan i cellen; tabellresultatet visas på samma sätt som bilden nedan.
Du kan filtrera bort data, pivotera tabellen eller ladda ner resultatet med valknappen som är tillgänglig i användargränssnittet.
MotherDuck tillåter också användaren att komma åt databasen via Python på din anteckningsbok. Vi måste installera DuckDB-paketet med följande kod.
pip install duckdb==v0.9.2
Den nuvarande versionen som MotherDuck stöder är DuckDB 0.9.2; det är därför vi installerade den versionen.
När installationen är framgångsrik måste vi ansluta DuckDB med Motherduck. Det finns några sätt att autentisera anslutningen, men vi skulle använda tjänstetoken. Denna token förvärvas i dina MotherDuck-inställningar.
import duckdb
token = "insert token here"
# initiate the MotherDuck connection
con = duckdb.connect(f'md:?motherduck_token={token}')
Om vi inte angav något databasnamn skulle MotherDuck komma åt med standarddatabasen, som är my_db. Låt oss sedan använda samma fråga som vi gjorde tidigare i anteckningsboken.
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 kommer att se utdata som liknar tabellen nedan.
┌─────────────────────────────────────┬───────────────────────┐
│ 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 frågan ovan kan du använda följande kod för att bearbeta dem till Pandas DataFrame.
import pandas as pd
df = con.sql(q).fetchdf()
Slutligen kan du ladda en annan datauppsättning till databasen med hjälp av följande fråga.
con.sql("CREATE TABLE mytable AS SELECT * FROM '~/filepath.csv'")
Ovanstående fråga förutsätter att din data är en CSV-fil. Andra alternativ inkluderar S3 eller den lokala DuckDB till MotherDuck-databasen.
DuckDB är ett databassystem med öppen källkod som utvecklades specifikt för dataanalys. Systemet är utformat för att hantera databehandling snabbt och effektivt. MotherDuck är en öppen källkod hanterad molnbaserad tjänst för DuckDB.
Genom att kombinera DuckDB och MotherDuck kan vi förvandla våra bärbara datorer till en personlig analysmotor genom att ha vår data i molnet och snabbt bearbeta dem med DuckDB.
Cornellius Yudha Wijaya är biträdande chef för datavetenskap och dataskribent. Medan han arbetar heltid på Allianz Indonesia älskar han att dela Python- och Data-tips via sociala medier och skrivande media.
- SEO-drivet innehåll och PR-distribution. Bli förstärkt idag.
- PlatoData.Network Vertical Generative Ai. Styrka dig själv. Tillgång här.
- PlatoAiStream. Web3 Intelligence. Kunskap förstärkt. Tillgång här.
- Platoesg. Kol, CleanTech, Energi, Miljö, Sol, Avfallshantering. Tillgång här.
- PlatoHealth. Biotech och kliniska prövningar Intelligence. Tillgång här.
- Källa: 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
- :är
- :inte
- :var
- 10
- 125
- 15000
- 20
- 25
- 3d
- 7
- 8
- 8000
- 9
- a
- ovan
- tillgång
- Konto
- förvärva
- förvärvade
- aktivitet
- lägga till
- avancera
- befordran
- aggregation
- AI
- Alla
- Allianz
- tillåter
- redan
- också
- an
- analys
- analytiker
- Analytisk
- Analytisk
- analytics
- och
- Annan
- vilken som helst
- tillämpas
- ÄR
- AS
- Assistent
- antar
- At
- autentisera
- autonom
- autonomt fordon
- tillgänglig
- BE
- nedan
- mellan
- byggt
- företag
- men
- Knappen
- by
- KAN
- cellen
- Förändringar
- cloud
- koda
- Kolonner
- kombination
- kombinera
- samfundet
- dator
- Datorsyn
- konkurrent
- Kontakta
- anslutning
- kunde
- skapa
- kritisk
- Aktuella
- datum
- dataanalys
- dataanalytiker
- Data Analytics
- dataingenjör
- databehandling
- datavetenskap
- datavetare
- Databas
- Standard
- utformade
- utvecklade
- Utvecklare
- DID
- Skillnaden
- do
- gör
- dubbla
- ladda ner
- effektivt
- effektivt
- Motor
- ingenjör
- etc
- Eter (ETH)
- NÅGONSIN
- Varje
- exempel
- exekvera
- experimentera
- Bekanta
- få
- Fil
- Filer
- filtrera
- efter
- För
- Fri
- från
- genereras
- skaffa sig
- Ge
- Grupp
- sidan
- hantera
- Arbetsmiljö
- har
- he
- hjälpte
- här.
- Hur ser din drömresa ut
- HTTPS
- if
- bild
- redskap
- förbättra
- in
- innefattar
- Indonesien
- initiera
- installera
- Installationen
- in
- innebär
- involverar
- IT
- delta
- Jupyter Notebook
- KDnuggets
- lab
- laptop
- bärbara datorer
- inlärning
- tycka om
- BEGRÄNSA
- läsa in
- lokal
- se
- ser ut som
- älskar
- Maskinen
- maskininlärning
- förvaltade
- ledning
- ledningssystem
- chef
- Media
- mycket
- multipel
- namn
- nämligen
- nativ
- Behöver
- behov
- Nya
- Nästa
- anteckningsbok
- of
- on
- ONE
- nätet
- öppen källkod
- Tillbehör
- or
- beställa
- Övriga
- vår
- ut
- produktion
- paket
- pandor
- partnering
- perfekt
- personlig
- pivot
- plattform
- plato
- Platon Data Intelligence
- PlatonData
- snälla du
- kraft
- den mäktigaste
- pretty
- tidigare
- Principal
- process
- processer
- bearbetning
- Produkt
- Programmerare
- allmän
- Python
- sökfrågor
- snabbt
- lätt
- inser
- Oavsett
- registrera
- ersätta
- forskning
- forskaren
- resultera
- lönen
- Samma
- scenario
- Vetenskap
- Forskare
- se
- välj
- Val
- service
- in
- inställningar
- Dela
- skall
- visas
- signifikant
- liknande
- Liknande
- Storlek
- Social hållbarhet
- sociala medier
- Mjukvara
- specifikt
- SQL
- stapel
- Personal
- framgångsrik
- Framgångsrikt
- lämplig
- stödja
- Stöder
- snabbt
- system
- System
- bord
- tagen
- Teknologi
- den där
- Smakämnen
- Dem
- Där.
- Dessa
- detta
- tid
- Tips
- till
- token
- verktyg
- verktyg
- prova
- SVÄNG
- ui
- användning
- Användare
- med hjälp av
- vanligen
- vehikel
- version
- via
- syn
- var
- sätt
- we
- Webbplats
- när
- som
- medan
- varför
- kommer
- med
- arbetsflöde
- arbetssätt
- fungerar
- skulle
- författare
- skrivning
- dig
- Din
- själv
- zephyrnet