Jak najszybciej wysłać dane z on prem na Azure Storage account

Problem:

Wysyłasz dane z on prem na Azure Storage Account. Została podjęta decyzja, że użyjesz do tego Pythona i bibliotek azure.storage. Przeglądasz dokumentacje i zastanawiasz się, którą metodę wysyłania danych do Azure wybrać? Czy lepiej wybrać append_date czy upload_data? Czy te metody mają jakieś ograniczenia? Która będzie szybsza?

Rozwiązanie:

Użycie upload_data jest zazwyczaj szybsze, natomiast ma pewne ograniczenie. Wysyłając duże pliki możesz dostać Timeout. Ale wysyłanie danych tą metodą jest zdecydowanie szybsze. Możesz pokusić się o rozwiązanie, które próbuje zrobić upload_data a dopiero potem robi append, jeżeli upload się nie powiódł.

Ale może zacznijmy po początku.

Read More

Python i Synapse: połączenie przy użyciu service principala

Problem:

Masz bazę danych Synapse dostępną w usłudze Azure. Posiadasz uprawnienia, żeby połączyć się do tej bazy przy użyciu service principala. To połączenie musisz wykonać w Pythonie. W jaki sposób połączyć się posiadając dane service principala do usługi Synapse?

Rozwiązanie:

Użyjemy .env do przechowywania zmienny środowiskowych. Użyjemy azure.identity żeby połączyć się z usługą i wygenerować token dostępowy. Następnie posiadając token utworzymy połączenie pyodbc.

Zawiłe? Teraz trochę bardziej szczegółowo.

Read More

Streamlit: Jak porównywać zmigrowane dane?

Problem

Migracja danych. Redesign. Duża zmiana w funkcjonalności.

Masz potrzebę porównania danych pomiędzy stanem obecnym a stanem po zmianie. Zmianę mogło wywołać jedno z powyższych zdarzeń ale cel pozostaje ten sam: porównać dane, udowodnić poprawność danych i zdobyć zaufanie biznesu.

W jaki sposób porównać dane, żeby mieć większą pewność, że stworzony produkt jest dobrej jakości? Chcesz też pokazać managerowi w jaki sposób może sam sprawdzić jakość danych, jeżeli oczywiście ma na to przestrzeń.

Rozwiązanie

Aplikacja napisana w streamlit w bajecznie łatwy sposób pozwala zwizualizować porównanie danych. Do tego wynik jest na tyle efektowny, że od razu zostaniesz pracownikiem miesiąca.

Jedna uwaga, tutaj skupiam się na porównaniu jednego unitu, jednostki, wiersza.

Co będzie potrzebne:
– Python 😉
– Streamlit
– Pandas
– Źródło danych

Read More

Databricks: Jak opublikować report w Power BI używając Pythona?

Problem:
Dostawca zewnętrzny umieszcza na Azure Storage Account raport w Power BI. Masz zadanie umieścić ten raport w serwisie Power BI. Będziesz to robił cyklicznie, więc chcesz uprościć sobie pracę. W jaki sposób to zrobisz?

Co masz dostępne?
Narzędzie, która masz dostępne to Databricks i całe dobrodziejstwo jakie z tym się wiąże.

Rozwiązanie:
Skrypt w Pythonie wykorzystujący Power BI Rest API, Key Vault i Azure Identity do automatycznego importu raportu w pbix.

Potrzebne oczywistości:
1. Storage Account – tam przechowywany będzie plik pbix.
2. Service Principal – do połączenia Databricks – Power BI. Pamiętaj o ustawieniu odpowiedniej roli.
3. Biblioteka Azure Identity – do autentykacji
4. Key Vault – do przechowywania sekretów. To nie jest „must have” ale to jest dobra praktyka.

Read More

Power BI audyt obszaru roboczego (workspace)

Power BI audyt

Wyobraź sobie, że tworzysz i rozwijasz raporty w Power BI. Przychodzisz do nowego projektu. Dostajesz pod opiekę kilka obszarów roboczych (workspace) w Power BI. Osoba, która do tej pory się tym zajmowała nie ma zbyt wiele czasu dla Ciebie.

Potrzebujesz sprawdzić jakie są źródła danych do raportów: Gdzie odwołujesz się do bazy danych, jakie tabele są wykorzystywane.

Albo:

Inżynierowie danych zapowiadają wielki re-design. Potrzebują, żebyś zrobił inwentaryzację i powiedział, jakich tabel używasz w raportach Power BI. Gdy masz jeden raport, nie stanowi to wielkiego problemu. Natomiast gdy masz tych raportów 15 to już nie chcesz robić tego zadania ręcznie. Przydałby się jakiś skrypt.

Albo:

Planowana jest migracja z SQL Servera na Databricks. Potrzebujesz sprawdzić w jakich raportach odwołujesz się do bazy danych. Musisz wylistować wszystkie tabele i najlepiej też kolumny z których korzystasz.

Jak zawsze najlepiej zrobić to automatycznie. Możesz zapytać ChatGPT jak rozwiąże ten problem albo poczytać niżej.

Zapraszam dalej pokaże Ci jak ja rozwiązałem ten problem.

Read More

7 tips to automate your daily DWH/BI developer life using PowerShell and Excel

Connect to Excel using PowerShell

PowerShell is a powerfull tool that will make your life easier. You can use it to automate your daily work or make boring taks interesting. It can also save you time to do whatherever you like.

If you are working on a Windows machine you already have it installed. This is an additional benefit.

As a bonus please find a git scripts at the end of the article. There are two working programs that are doing all the juicy stuff.

In this blog post you will see how can you:
– Connect to Excel using PowerShell
– Get a sheet name
– Find a named table
– Display value from the cell
– Loop through table
– Execute Excel Macro from PowerShell
– And finally save an Excel file using PowerShell

Read More