Obraz wygenerowany za pomocą DALL-E
W czasach, gdy przetwarzanie analityczne danych stanowi kluczową różnicę między sukcesem firmy a jej porażką, potrzebujemy zestawu narzędzi, który mógłby zaspokoić te potrzeby. Postęp technologii pomógł ulepszyć wszystkie narzędzia danych, których potrzebujemy, a mianowicie DuckDB i MotherDuck.
KaczkaDB to działający w procesie system zarządzania bazami danych SQL Online Analytical Processing (OLAP) typu open source. System bazodanowy przeznaczony jest do szybkiej obsługi zapytań analitycznych o dane, niezależnie od ich wielkości. W systemie zaimplementowano systemy przetwarzania in-memory oraz systemy OLAP, które skutecznie usprawniają nasz proces analizy danych.
DuckDB jest idealny do przechowywania i przetwarzania danych tabelarycznych obejmujących analizę danych (łączenie tabel, agregację danych itp.) oraz gdy nasz przepływ pracy zwykle wiąże się z dużymi zmianami w tabeli. Z drugiej strony DuckDB nie nadaje się do obsługi dużych ilości danych i wielu współbieżnych procesów w jednej bazie danych.
Matka Kaczka to zarządzana usługa DuckDB-in-the-cloud. Jest darmowy i open source, pod warunkiem, że jest utrzymywany przez społeczność DuckDB. Jest to usługa stworzona we współpracy z DuckDB Lab w celu stworzenia platformy usług w chmurze, z której może korzystać społeczeństwo.
Dzięki połączeniu DuckDB i Motherduck możemy stworzyć silnik analityczny, który będzie łatwy w użyciu w każdym scenariuszu. Jak to zrobimy? Zajmijmy się tym.
Użylibyśmy natywnego interfejsu użytkownika MotherDuck, aby dać przykład, jak działa usługa i dlaczego DuckDB jest potężnym narzędziem do analizy danych. Zarejestruj się na stronie i załóż konto MotherDuck, jeśli jeszcze tego nie zrobiłeś.
Po pomyślnej rejestracji konta MotherDuck zostaniemy przeniesieni do interfejsu użytkownika MotherDuck. Spróbuj zapoznać się z interfejsem użytkownika, a zdasz sobie sprawę, że interfejs użytkownika jest podobny do notesu Jupyter, jeśli kiedykolwiek go użyjesz.
Będziemy eksperymentować z mocą DBduck w interfejsie MotherDuck na podstawie danych DS Salary z Kaggle. Prześlij dane za pomocą przycisku Dodaj pliki, a wyświetli się nowa komórka z zapytaniem do wykonania. Zapytanie powinno wyglądać tak.
CREATE OR REPLACE TABLE ds_salaries AS SELECT * FROM read_csv_auto(['ds_salaries.csv']);
Po utworzeniu tabeli spróbuj wysłać zapytanie do danych za pomocą następującego kodu.
select * from my_db.ds_salaries limit 10;
Jak widać, MotherDuck przypomina analizę danych w Notatniku, ale z zapytaniami SQL. Wypróbujmy zapytanie przeprowadzające analizę danych w 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
Możesz wykonać zapytanie w komórce; wynik tabeli pokazano podobnie jak na obrazku poniżej.
Możesz odfiltrować dane, obrócić tabelę lub pobrać wynik za pomocą przycisku wyboru dostępnego w interfejsie użytkownika.
MotherDuck umożliwia także użytkownikowi dostęp do bazy danych poprzez Python na Twoim Notatniku. Musimy zainstalować pakiet DuckDB przy użyciu następującego kodu.
pip install duckdb==v0.9.2
Obecna wersja obsługiwana przez MotherDuck to DuckDB 0.9.2; dlatego zainstalowaliśmy tę wersję.
Gdy instalacja się powiedzie, musimy połączyć DuckDB z Motherduck. Istnieje kilka sposobów uwierzytelnienia połączenia, my jednak wykorzystalibyśmy token usługi. Token ten można uzyskać w ustawieniach MotherDuck.
import duckdb
token = "insert token here"
# initiate the MotherDuck connection
con = duckdb.connect(f'md:?motherduck_token={token}')
Gdybyśmy nie ustawili żadnej nazwy bazy danych, MotherDuck uzyskałby dostęp przy użyciu domyślnej bazy danych, czyli my_db. Następnie użyjmy tego samego zapytania, które zrobiliśmy wcześniej w Notatniku.
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()
Zobaczysz wynik podobny do poniższej tabeli.
┌─────────────────────────────────────┬───────────────────────┐
│ 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 │
└─────────────────────────────────────────────────────────────┘
W przypadku powyższego zapytania możesz użyć poniższego kodu, aby przetworzyć je w Pandas DataFrame.
import pandas as pd
df = con.sql(q).fetchdf()
Na koniec możesz załadować kolejny zestaw danych do bazy danych, używając następującego zapytania.
con.sql("CREATE TABLE mytable AS SELECT * FROM '~/filepath.csv'")
Powyższe zapytanie zakłada, że Twoje dane są plikiem CSV. Inne opcje obejmują S3 lub lokalną DuckDB do bazy danych MotherDuck.
DuckDB to system baz danych typu open source, który został opracowany specjalnie do analizy danych. System ma za zadanie szybko i sprawnie przetwarzać dane. MotherDuck to zarządzana usługa oparta na chmurze typu open source dla DuckDB.
Łącząc DuckDB i MotherDuck, możemy zamienić nasze laptopy w osobisty silnik analityczny, przechowując nasze dane w chmurze i szybko przetwarzając je za pomocą DuckDB.
Cornelius Yudha Wijaya jest kierownikiem i asystentem analityka danych oraz autorem danych. Pracując na pełny etat w Allianz Indonesia, uwielbia dzielić się wskazówkami dotyczącymi Pythona i danych za pośrednictwem mediów społecznościowych i mediów.
- Dystrybucja treści i PR oparta na SEO. Uzyskaj wzmocnienie już dziś.
- PlatoData.Network Pionowe generatywne AI. Wzmocnij się. Dostęp tutaj.
- PlatoAiStream. Inteligencja Web3. Wiedza wzmocniona. Dostęp tutaj.
- PlatonESG. Węgiel Czysta technologia, Energia, Środowisko, Słoneczny, Gospodarowanie odpadami. Dostęp tutaj.
- Platon Zdrowie. Inteligencja w zakresie biotechnologii i badań klinicznych. Dostęp tutaj.
- Źródło: 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
- :ma
- :Jest
- :nie
- :Gdzie
- 10
- 125
- 15000
- 20
- 25
- 3d
- 7
- 8
- 8000
- 9
- a
- powyżej
- dostęp
- Konto
- nabyć
- nabyty
- działalność
- Dodaj
- awansować
- postęp
- zbiór
- AI
- Wszystkie kategorie
- Allianz
- pozwala
- już
- również
- an
- analiza
- analityk
- Analityczny
- Analityczny
- analityka
- i
- Inne
- każdy
- stosowany
- SĄ
- AS
- Asystent
- zakłada
- At
- uwierzytelniać
- autonomiczny
- pojazd autonomiczny
- dostępny
- BE
- poniżej
- pomiędzy
- wybudowany
- biznes
- ale
- przycisk
- by
- CAN
- komórka
- Zmiany
- Chmura
- kod
- kolumny
- połączenie
- łączenie
- społeczność
- komputer
- Wizja komputerowa
- równoległy
- Skontaktuj się
- połączenie
- mógłby
- Stwórz
- krytyczny
- Aktualny
- dane
- analiza danych
- analityk danych
- Analityka danych
- inżynier danych
- analiza danych
- nauka danych
- naukowiec danych
- Baza danych
- Domyślnie
- zaprojektowany
- rozwinięty
- Deweloper
- ZROBIŁ
- różnica
- do
- robi
- Podwójna
- pobieranie
- faktycznie
- skutecznie
- silnik
- inżynier
- itp
- Eter (ETH)
- EVER
- Każdy
- przykład
- wykonać
- eksperyment
- oswajać
- kilka
- filet
- Akta
- filtrować
- następujący
- W razie zamówieenia projektu
- Darmowy
- od
- wygenerowane
- otrzymać
- Dać
- Zarządzanie
- ręka
- uchwyt
- Prowadzenie
- mający
- he
- pomógł
- tutaj
- W jaki sposób
- HTTPS
- if
- obraz
- narzędzia
- podnieść
- in
- zawierać
- Indonezja
- zainicjować
- zainstalować
- instalacja
- najnowszych
- dotyczy
- z udziałem
- IT
- przystąpić
- Notebook Jupyter
- Knuggety
- laboratorium
- laptopa
- laptopy
- nauka
- lubić
- LIMIT
- załadować
- miejscowy
- Popatrz
- wygląda jak
- kocha
- maszyna
- uczenie maszynowe
- zarządzane
- i konserwacjami
- System zarządzania
- kierownik
- Media
- dużo
- wielokrotność
- Nazwa
- mianowicie
- rodzimy
- Potrzebować
- wymagania
- Nowości
- Następny
- notatnik
- of
- on
- ONE
- Online
- open source
- Opcje
- or
- zamówienie
- Inne
- ludzkiej,
- na zewnątrz
- wydajność
- pakiet
- pandy
- Partnerstwo
- doskonały
- osobisty
- Pivot
- Platforma
- plato
- Analiza danych Platona
- PlatoDane
- Proszę
- power
- mocny
- bardzo
- poprzednio
- Główny
- wygląda tak
- procesów
- przetwarzanie
- Produkt
- Programista
- publiczny
- Python
- zapytania
- szybko
- łatwo
- zrealizować
- Bez względu
- zarejestrować
- obsługi produkcji rolnej, która zastąpiła
- Badania naukowe
- badacz
- dalsze
- wynagrodzenie
- taki sam
- scenariusz
- nauka
- Naukowiec
- widzieć
- wybierać
- wybór
- usługa
- zestaw
- w panelu ustawień
- Share
- powinien
- pokazane
- znaczący
- podobny
- Podobnie
- Rozmiar
- Obserwuj Nas
- Media społecznościowe
- Tworzenie
- swoiście
- SQL
- stos
- Personel
- udany
- Z powodzeniem
- odpowiedni
- wsparcie
- podpory
- szybko
- system
- systemy
- stół
- Zadania
- Technologia
- że
- Połączenia
- Im
- Tam.
- Te
- to
- czas
- wskazówki
- do
- żeton
- narzędzie
- narzędzia
- próbować
- SKRĘCAĆ
- ui
- posługiwać się
- Użytkownik
- za pomocą
- zazwyczaj
- pojazd
- wersja
- przez
- wizja
- była
- sposoby
- we
- Strona internetowa
- jeśli chodzi o komunikację i motywację
- który
- Podczas
- dlaczego
- będzie
- w
- workflow
- pracujący
- działa
- by
- pisarz
- pisanie
- ty
- Twój
- siebie
- zefirnet