Databricks: porównanie CTAS, deep i shallow clone

Problem:

Masz już wyczyszczone, połączone, załadowane i gotowe do konsumpcji przez warstwę raportową dane. Teraz Power BI będzie pobierało dane do dataflow. Następne ładowanie zaczyna się za chwilę i zmieni, kształt danych. Chcesz jednak załadowane dane wysłać do raportów. Żeby zapewnić spójny obraz danych potrzebujesz zrobić snapshot (migawkę) danych. Potrzebujesz zduplikować istniejące dane. Masz do wyboru: create table as select (CTAS), deep (głęboki) oraz shallow (płytki) klon danych.

Rozwiązanie:

W moim przypadku najlepszym rozwiązaniem będzie użycie głębokiego klonowania (deep clone). Płytkie klonowanie ma niestety ograniczenia, które wykluczają jego zastosowanie. CTAS jest zbyt wolny, to było dopiero odkrycie! Tabela, na której testowałem nie jest duża ma 0,5 GB ale to wystarczający wolumen żeby wyciągnąć wnioski.

Read More

Streamlit: Jak edytować dane?

Problem:

Porównujesz dwa zbiory danych: przed i po migracji. Wkraczasz w fazę budowania zaufania i wiarygodności. Okazało się, że nie wszystkie dane są jednakowe. Niektóre wymagają dodatkowej analizy i poprawek, a niektóre wyglądają lepiej w zmigrowanym datasecie. Na tyle lepiej, że trzeba je przedstawić biznesowi i pokazać na przykładach, że po migracji wyniki są lepsze.
W jaki sposób opisać te dane?

Rozwiązanie:

Jednym z pomysłów na rozwiązanie może być Streamlit. Przy jego pomocy dodasz komentarze, które potem będą służyły jako:
1. Punkt do analizy i późniejszego ponownego sprawdzenia
2. Przedstawisz je biznesowi jako dowód na poprawę jakości danych.

Read More

Pandas can do THIS? Data Engineer perspective on pandas

We all work with data.

Amount of data is growing fast, in the business setup or daily life. There is a need to extract them from different places, marge it, filter and send it to someone.

And do it AS FAST AS POSSIBLE.

Probably you also have a lot of data to be analyzed.

Most likely, you don’t like to repeat this operations over and over again. Doing everything manually is a tedious task.

Python and pandas might be the tools that you need.

Pandas gives you possibility to:
– read it from heterogeneous data sources: (CSV, Excel, Database, Parquet etc)
– analyze the data,
– operate on a data,
– manipulate the data,
– supplement it with another data,
– filter and sort.

After you are done with your operations, pandas gives you a possibility to store it in your favorite format: Excel, CSV, Parquet. Whatever you like.

Read More