*Artykuł sponsorowany* Bez inżynierii danych nie byłoby możliwe zrozumienie tak dużej ilości informacji, jakimi obecnie operuje energetyka. Proces ten ma na celu szybkie przetworzenie pozyskanych danych przy użyciu specjalistycznych narzędzi – podkreśla Adam Olszewski, Analityk danych pomiarowych, ESMETRIC Group sp. z o.o.
Adam Olszewski, Analityk danych pomiarowych, ESMETRIC Group sp. z o.o.
Rozmawiała: Izabela Żylińska
Podczas nadchodzącej 8. Konferencji „Inteligentna Energetyka” – AI w energetyce (22.11.2024, Warszawa) w ramach wystąpienia będzie Pan mówił m.in. o inżynierii danych. Czym zajmuje się inżynieria danych?
Inżynieria danych (ang. data engineering) to proces projektowania i budowania potoków danych (ang. data pipeline). Dzięki niej, dane o różnych formatach pozyskane z wielu odmiennych źródeł, nabierają sensu i wartości. W przypadku firmy takiej, jak ESMETRIC Group, oraz wdrożenia technologii G3-PLC, które realizujemy, dobre dane umożliwiają nam sprawne prowadzenie prac oraz w dużej części automatyzują nam clean-up.
Tak naprawdę bez inżynierii danych nie byłoby możliwe zrozumienie tak dużej ilości informacji, jakimi obecnie operujemy w naszej pracy. Proces ten ma bowiem na celu szybkie przetworzenie (transformację, agregację, grupowanie, ładowanie do bazy danych, optymalizację) pozyskanych danych przy użyciu specjalistycznych narzędzi. W sposób tradycyjny, niezautomatyzowany (np. poprzez Excel) nie bylibyśmy w stanie tymi danymi zarządzać.
Użył Pan takiego sformułowania, jak potok danych. Co to jest?
Potok danych jest kluczowym elementem inżynierii danych. Inaczej, jest to przepływ danych, w którym dane z jednego lub wielu miejsc trafiają najczęściej do bazy lub hurtowni danych i stamtąd poddawane są dalszej analizie. Przepływ danych zazwyczaj można podzielić na trzy główne etapy:
- pobranie danych (z ang. extract) – ekstrakcja, pobieranie danych różnego rodzaju danych z różnych źródeł,
- transformacja danych (z ang. transform) – wszystkie operacje na danych związane z przetwarzaniem danych, tj. agregacja, grupowanie, łączenie oraz czyszczenie danych,
- zapis danych (z ang. load) – wstawianie danych do docelowego miejsca.
Co należy zrobić, aby dobrze przygotować potok danych pod kątem prac clean-up?
Na pewno trzeba wiedzieć, co chcemy otrzymać na wyjściu (czyli jakimi danymi chcemy na sam koniec operować, czy nasze końcowe dane mają być zagregowane do obszaru danego, czy potrzebujemy bardziej głębszej agregacji z podziałem na stacje i liczniki) i skorelować z tym, co dostajemy na początku (struktury, formaty plików danych wejściowych). Finalnie wiąże się to z odpowiednią strukturą i architekturą bazy danych.
Jakie są główne problemy procesów clean-up upatrywane w kontekście inżynierii danych?
O odpowiednią jakość danych łatwiej zadbać, mając zawsze komplet informacji, które zasilają przepływ danych, jednak nie zawsze jest to możliwe. Przykładowo, problem stanowić mogą niekompletne dane dotyczące koncentratorów danych lub zainstalowanych liczników. Czasami w niektórych miejscach mogą pojawić się problemy ze słabą jakością sygnału LTE, co przy ilości danych, które potrzebujemy pobrać z koncentratorów, stanowi wyzwanie. Taka sytuacja występuje, gdy koncentratory są instalowane w stacjach znajdujących się na parkingach podziemnych. Warto więc na etapie roll-outu zadbać o właściwe umiejscawianie urządzeń komunikacyjnych celem zapewnienia odpowiedniej jakości połączenia.
Kolejne wyzwanie stanowią duplikaty liczników. Są to sytuacje, gdy licznik zarejestrowany jest na kilku różnych koncentratorach. Przyczyną takiej sytuacji mogą być np. periodyczne zakłócenia. W takim przypadku kluczowe jest wyłapanie tych duplikatów i na podstawie dostępnych danych oszacowanie, do którego koncentratora faktycznie powinien być przypisany licznik.
Jakie narzędzia są wykorzystywane w inżynierii danych dla procesu clean-up?
Proces przetwarzania danych składa się z wielu etapów, co wiąże się z dużą ilością narzędzi, jakie są wykorzystywane. Na tym etapie nie obędzie się bez znajomości języka programowania np. Python, w którym w prosty sposób możemy przetwarzać dane z wykorzystaniem dostępnych bibliotek. Dodatkowo duża część narzędzi do przetwarzania danych napisanych jest w Scali lub Java.
Aby przechowywać dane i później nimi operować niezbędne jest wykorzystanie bazy danych. Bazy danych dobiera się w zależności od danych, którymi operujemy i natężenia ruchu. Jeżeli mamy do czynienia z danymi ustrukturyzowanymi, słusznym będzie użycie relacyjnych baz danych. W innym przypadku warto rozważyć np. MongoDB.
Podczas przetwarzania danych coraz częściej korzysta się z rozwiązań chmurowych. Znajomość możliwości, jakie oferują platformy takie, jak Microsoft Azure, AWS czy Google Cloud, jest nieoceniona w procesie przetwarzania danych. Dzięki przetwarzaniu w chmurze nie musimy tworzyć skomplikowanych skryptów do przetwarzania danych – w chmurze procesy te realizowane są znacznie szybciej.
Warto zadbać również o wizualizację danych, która upraszcza pracę z danymi. Do przygotowania dashboardów związanych z clean-up bardzo dobrze sprawdza się Grafana, czyli narzędzie dedykowane do tworzenia wizualizacji. Jej zaletą jest możliwość łączenia się z wieloma różnymi źródłami danych.
Jak więc inżynieria danych pomaga Państwu w procesach clean-up?
Jak już wspomniałem, inżynieria danych pozwala w dynamiczny sposób przetwarzać dane z wielu set tysięcy liczników i podejmować kluczowe dla wdrożenia decyzje w ramach prac clean-up. Odpowiednio zagregowane i zwizualizowane dane pozwalają znaleźć stacje energetyczne i budynki, w których występują problemy z komunikacją między LZO a koncentratorami danych. Tym samym nasz zespół nie tylko wie dokładnie, w którym miejscu występują zakłócenia, ale również posiada wstępną wiedzę, z czego one wynikają – czy są to zakłócenia, czy rejestracja liczników nie w tych koncentratorach co trzeba, a może tłumienność sygnału. Dobrze przygotowany proces przetwarzania danych pozwala na stały, stabilny monitoringi całej sieci PLC.
© Materiał chroniony prawem autorskim - wszelkie prawa zastrzeżone.
Dalsze rozpowszechnianie artykułu tylko za zgodą wydawcy ARTSMART Izabela Żylińska. Więcej w Regulaminie.
Źródło: ESMETRIC Group, fot. freepik / fullvector