Logo Zephyrnet

Plan krok po kroku, jak zostać inżynierem danych w 2023 r

Data:

Wprowadzenie

Na pewno zauważyłeś, jak personalizacja ma miejsce w cyfrowym świecie, od spersonalizowanych filmów na YouTube po sprytne rekomendacje reklam na Instagramie. Chociaż nie wszyscy z nas są entuzjastami technologii, wszyscy mamy wystarczającą wiedzę na temat tego, jak Data Science działa w naszym codziennym życiu.

Wszystko to opiera się na Data Science, która jest stosowana za kulisami. Ale niewiele osób wie, że nic z tego nie jest możliwe bez żarliwych inżynierów danych pracujących razem z naukowcami danych.

Cóż, w dużym skrócie, inżynieria danych to dziedzina, która zapewnia prawidłowy przepływ surowych danych, pochodzących z wielu źródeł do wiarygodnego, wspólnego repozytorium, które może działać jako pojedyncze źródło prawdy dla całej organizacji.

Ten artykuł określa mapę drogową, którą możesz podążać, aby zostać inżynierem danych w 2023 roku.

Wynik kwartalny

Zanim szczegółowo przejdziesz do planu działania, dobrze jest poznać kwartalne wyniki planu działania.

W Pierwszy kwartał, skupisz się na zbudowaniu solidnych podstaw programowania, które pomogą Ci rozpocząć przygodę z inżynierią danych.

W Drugi kwartał, nacisk zostanie położony na zdobycie praktycznego doświadczenia w chmurze i rozproszonych strukturach. I tak do końca tego kwartału możesz zacząć aplikować na praktyki Data Engineering.

W Trzeci kwadransnacisk zostanie położony na magazynowanie danych i obsługę danych przesyłanych strumieniowo. A ponieważ pod koniec tego kwartału potrafisz obsługiwać dane wsadowe i przesyłane strumieniowo, będziesz w doskonałej pozycji, aby rozpocząć aplikowanie na podstawowe stanowiska w inżynierii danych.

Połączenia czwarta ćwiartka skupi się na testowaniu, bazach danych NoSQL i narzędziach do orkiestracji przepływu pracy. Tak więc do końca tego kwartału lub tego roku będziesz znał większość narzędzi i technologii, które inżynier danych musi opanować, i będziesz w doskonałej pozycji, aby aplikować i załatwić każdą rozmowę o pracę w inżynierii danych!

Styczeń – Podstawy programowania

Plik:Python-logo-notext.svg

Pierwszą rzeczą, którą musisz opanować, aby zostać inżynierem danych w 2023 roku, jest język programowania. Rozpocznie to Twoją podróż w tej dziedzinie i pozwoli Ci myśleć w uporządkowany sposób. A nie ma lepszego języka programowania, od którego można rozpocząć swoją przygodę z programowaniem, niż Python.

Python jest jednym z najbardziej odpowiednich języków programowania dla inżynierii danych. Jest łatwy w użyciu, nie ma bibliotek pomocniczych, ma ogromną społeczność użytkowników i został dokładnie włączony do każdego aspektu i narzędzia inżynierii danych.

  1. Zrozumienie operatorów, zmiennych i typów danych w Pythonie
  2. Instrukcje warunkowe i konstrukcje pętli
  3. Struktury danych w Pythonie (listy, słowniki, krotki, zestawy i metody łańcuchowe)
  4. Pisanie niestandardowych funkcji (w tym funkcji lambda, mapy i filtrów)
  5. Zrozumienie bibliotek standardowych w Pythonie
  6. Używanie podstawowych wyrażeń regularnych do zadań związanych z czyszczeniem i ekstrakcją danych

Poza tym powinieneś szczególnie skupić się na Biblioteka Pandas w Pythonie. Ta biblioteka jest szeroko używana do czytania, manipulowania i tak dalej. Tutaj możesz skupić się na następujących kwestiach:

  1. Podstawy manipulacji danymi przy pomocy biblioteki Pandas
  2. Odczytywanie i zapisywanie plików za pomocą Pand
  3. Manipuluj kolumnami w Pandach – zmieniaj nazwy kolumn, sortuj dane w ramce danych Pand, sortuj dane za pomocą Pand itp.
  4. Jak radzić sobie z brakującymi wartościami za pomocą Pand
  5. Zastosuj funkcję w Pandach
  6. Stół obrotowy
  7. Grupuj według

Luty – Podstawy informatyki

Dlaczego Data Analyst powinien używać Github? | autorstwa Kevina Adinaty | bilety.com | Średni

Źródło: Ticket.com

Gdy już oswoisz się z językiem programowania Python, konieczne jest skupienie się na podstawach informatyki, aby zostać inżynierem danych w 2023 r. Jest to niezwykle pomocne, ponieważ przez większość czasu źródła danych, z którymi pracujesz, będą wymagały zrozumienia te podstawy informatyki dobrze.

Pomogłoby, gdybyś się skupił skrypty powłoki w systemie Linux ponieważ będziesz pracować ze środowiskiem Linux w formacie powłoki. Będziesz intensywnie używać skryptów powłoki do zadań cron, konfigurowania środowisk, a nawet pracy w środowisku rozproszonym, które jest powszechnie używane przez inżynierów danych. Poza tym będziesz musiał pracować z interfejsami API. Jest to ważne, ponieważ projekty obejmują wiele interfejsów API, które wysyłają i odbierają dane. Naucz się więc podstaw interfejsów API, takich jak GET, PUT i POST. The biblioteka żądań jest szeroko stosowany w tym celu.

Web Scraping jest również niezbędny w codziennych zadaniach inżyniera danych. Dzieje się tak dlatego, że często musimy wyodrębniać dane ze stron internetowych, które mogą nie mieć prostego lub pomocnego interfejsu API. W tym celu możesz skupić się na pracy z PięknaZupa i Selen biblioteki. Wreszcie mistrzu Git i GitHub ponieważ są przydatne do kontroli wersji. Różni członkowie będą pracować nad jednym projektem, gdy pracujesz w zespole. Bez narzędzia do kontroli wersji taka współpraca byłaby niemożliwa.

Marzec – Relacyjne bazy danych

Amazon RDS dla MySQL — Amazon Web Services (AWS)

Źródło: Wikipedia

Żaden projekt inżynierii danych nie jest kompletny bez komponentu pamięci masowej. A relacyjna baza danych jest jednym z podstawowych komponentów pamięci masowej szeroko stosowanych w projektach inżynierii danych. Do pracy z ogromną ilością danych generowanych w tej dziedzinie potrzebna jest dobra znajomość relacyjnych baz danych. Relacyjne bazy danych są szeroko stosowane do przechowywania danych w dowolnej dziedzinie. Wynika to z ich właściwości ACID, które pozwalają im łatwo obsługiwać dane transakcyjne.

Aby pracować z relacyjnymi bazami danych, musisz opanować język Structure Query Language (SQL). Podczas nauki języka SQL możesz skupić się na następujących kwestiach:

  1. Podstawowe zapytania w SQL
  2. Klucze w SQL
  3. Łączy w SQL
  4. Przećwicz podzapytania w SQL
  5. Ograniczenia w SQL
  6. Funkcje okna
  7. Normalizacja

Projekty – Pod koniec pierwszego kwartału dobrze zrozumiesz programowanie, SQL, web scraping i API. To powinno dać ci wystarczającą swobodę do pracy nad małym przykładowym projektem.

W tym projekcie możesz skupić się na pobieraniu danych z dowolnego otwartego interfejsu API lub pobieraniu danych ze strony internetowej. Przekształć te konkretne dane za pomocą Pandas w Pythonie. I na koniec przechowuj go w relacyjnej bazie danych. Podobny projekt można znaleźć tutaj, gdzie analizujemy przesyłanie strumieniowe tweetów przy użyciu Pythona i PostgreSQL.

Kwiecień – Podstawy przetwarzania w chmurze z AWS

Usługi sieciowe Amazon – Wikipedia

Źródło: Wikipedia

Ten kwartał rozpoczniemy od skupienia się na przetwarzaniu w chmurze, ponieważ biorąc pod uwagę rozmiar Big Data, inżynierowie danych uważają, że praca w chmurze jest niezwykle przydatna. Dzięki temu mogą pracować z danymi bez ograniczeń zasobów. Ponadto, biorąc pod uwagę rozprzestrzenianie się technologii przetwarzania w chmurze, zarządzanie złożonymi procesami pracy w całości w chmurze stało się coraz łatwiejsze.

  1. Poznaj podstawy AWS
  2. Dowiedz się więcej o użytkownikach IAM i rolach IAM
  3. Naucz się uruchamiać i obsługiwać EC2 na AWS
  4. Zapoznaj się z funkcjami Lambda w AWS
  5. AWS S3 jest podstawowym komponentem pamięci masowej
  6. Brama API
  7. Przećwicz pracę w sieci z AWS VPC
  8. Przećwicz bazy danych z AWS RDS i Aurora

Projekty – Możesz przenieść swój projekt z poprzedniego kwartału do chmury, wykonując poniższe kroki –

  1. Użyj API Gateway, aby pobrać dane z API Twittera
  2. Przetwórz te dane za pomocą AWS Lambda
  3. Przechowuj przetworzone dane w AWS Aurora do dalszej analizy

Maj – Przetwarzanie danych z Apache Spark

Apache Spark – Wikipedia

Źródło: Wikipedia

Następnie musisz nauczyć się przetwarzać Big Data. Big Data ma zasadniczo dwa aspekty, dane wsadowe i dane przesyłane strumieniowo. W tym miesiącu powinieneś skupić się na nauce narzędzi do obsługi danych wsadowych. Dane wsadowe są gromadzone w czasie, powiedzmy dzień, miesiąc lub rok. Ponieważ dane są w takich przypadkach obszerne, potrzebujemy specjalistycznych narzędzi. Jednym z takich popularnych narzędzi jest Apache Spark.

Podczas nauki możesz skupić się na następujących kwestiach Apache Spark -

  1. Architektura iskry
  2. RDD w Sparku
  3. Praca z ramkami danych Spark
  4. Zrozumienie wykonywania Spark
  5. Transmisja i akumulatory
  6. Iskra SQL 

Przy okazji zapoznaj się również z koncepcją potoku ETL. ETL to nic innego jak wyodrębnienie danych ze źródła, przekształcenie przychodzących danych do wymaganego formatu, a na końcu załadowanie ich do określonej lokalizacji. Apache Spark jest szeroko stosowany do tego celu, a inżynierowie danych wykorzystują ETL w każdym projekcie!

Możesz pracować z Edycja społeczności Datakostek ćwiczyć Apache Spark.

Czerwiec — rozproszona platforma Hadoop

Plik:Hadoop logo new.svg – Wikimedia Commons

Źródło: Wikimedia Commons

Żaden projekt inżynierii danych nie jest kompletny bez wykorzystania możliwości środowiska rozproszonego. Struktury rozproszone umożliwiają inżynierom danych rozłożenie obciążenia na wiele małych maszyn zamiast polegania na jednym, masywnym systemie. Zapewnia to wyższą skalowalność i lepszą odporność na uszkodzenia.

  1. Zapoznaj się z przeglądem ekosystemu Hadoop
  2. Zrozumieć architekturę MapReduce
  3. Zrozum działanie YARN
  4. Pracuj z Hadoop w chmurze z AWS EMR

Projekt - Do końca tego kwartału będziesz dobrze rozumieć obsługę danych wsadowych w środowisku rozproszonym, a także będziesz mieć podstawy przetwarzania w chmurze. Możesz także rozpocząć swoją podróż w zakresie inżynierii danych z tymi narzędziami, aplikując na staże w zakresie inżynierii danych.

Aby zaprezentować swoje umiejętności, możesz zbudować projekt w chmurze. Możesz pobrać dowolne zestawy danych z Platforma DataHack i przećwicz pracę z frameworkiem Spark.

Lipiec – Hurtownia danych z Apache Hive

Apache Hive – Wikipedia

Źródło: Wikipedia

Wprowadzanie danych do baz danych to tylko połowa pracy. Prawdziwym wyzwaniem jest agregacja i przechowywanie danych w centralnym repozytorium. Będzie to działać jako pojedyncza wersja prawdy, którą każdy z organizacji może zapytać i uzyskać wspólny i spójny wynik. Najpierw musisz zrozumieć różnice między bazą danych, hurtownią danych i jeziorem danych, ponieważ często spotykasz się z tymi terminami. Nie tylko to, ale także spróbuj zrozumieć różnicę między OLTP a OLAP.

Następnie należy skupić się na aspekcie modelowania hurtowni danych. Zapoznanie się ze schematem Gwiazda i Płatek śniegu często używanym w projektowaniu hurtowni danych. Wreszcie możesz zacząć uczyć się różnych narzędzi hurtowni danych. Jednym z najpopularniejszych jest Ula Apache który jest zbudowany na bazie Apache Hadoop i jest szeroko stosowany w branży. Podczas nauki Hive możesz skupić się na następujących tematach –

  1. Język zapytań Hive
  2. Zarządzane a tabele zewnętrzne
  3. Partycjonowanie i segmentowanie
  4. Rodzaje formatów plików
  5. SerDes w Hive

Po opanowaniu podstaw Apache Hive możesz poćwiczyć pracę z nim w chmurze za pomocą usługi AWS EMR.

Sierpień — Pozyskiwanie danych przesyłanych strumieniowo za pomocą Apache Kafka

Ściągawka CTO: Apache Kafka

Po intensywnej pracy z danymi wsadowymi nadszedł czas, aby przejść do przesyłania strumieniowego danych.

Dane przesyłane strumieniowo to dane generowane w czasie rzeczywistym. Pomyśl o generowaniu tweetów, rejestrowaniu kliknięć na stronie internetowej lub transakcjach zachodzących w witrynie e-commerce. Takie dane czasami muszą być przetwarzane w czasie rzeczywistym. Na przykład możemy potrzebować określić w czasie rzeczywistym, czy tweet jest toksyczny, abyśmy mogli łatwo usunąć go z platformy. Lub określ, czy transakcja jest oszukańcza, czy nie, aby zapobiec spowodowaniu przez nią rozległych szkód.

Problem z pracą z takimi danymi polega na tym, że musimy je przyswajać w czasie rzeczywistym i przetwarzać w tym samym tempie. Zapewni to, że w międzyczasie nie nastąpi utrata danych. Aby zapewnić niezawodne pozyskiwanie danych podczas ich generowania, musimy użyć Apache Kafka.

  1. Poznaj architekturę Kafki
  2. Dowiedz się więcej o producentach i konsumentach
  3. Twórz tematy w Kafce

Poza tym można się też dowiedzieć Kineza AWS który jest również używany do obsługi usług przesyłania strumieniowego w chmurze.

Wrzesień — Przetwarzaj przesyłane strumieniowo dane za pomocą usługi Spark Streaming

Apache Spark — Wikipedia | Inżynier danych w 2023 roku

Źródło: Wikipedia

Kiedy już nauczyłeś się przetwarzać dane przesyłane strumieniowo za pomocą Kafki, nadszedł czas, aby nauczyć się przetwarzać te dane w czasie rzeczywistym. Chociaż możesz to zrobić za pomocą Kafki, nigdzie nie jest tak elastyczny dla celów ETL, jak Spark Streaming. Spark Streaming jest częścią podstawowego interfejsu API platformy Spark. Podczas nauki Spark Streaming możesz skupić się na następujących kwestiach:

  1. Strumienie
  2. Transformacje bezstanowe a stanowe
  3. Punkt kontrolny
  4. Strumieniowanie strukturalne

Projekty – Pod koniec tego kwartału będziesz mógł obsługiwać dane wsadowe i strumieniowe. Będziesz mieć również dobrą wiedzę na temat hurtowni danych. Znasz więc większość narzędzi i technologii, które inżynier danych musi opanować.

Aby pokazać swoje umiejętności, możesz zbudować mały projekt. Tutaj możesz wykorzystać zalety usług przesyłania strumieniowego w swoim wcześniejszym projekcie analizy nastrojów na Twitterze. Załóżmy, że chcesz analizować wszystkie tweety związane z inżynierią danych w czasie rzeczywistym i przechowywać je w bazie danych.

  1. Pochłaniasz tweety z API do AWS Kinesis. Zapewni to, że nie stracisz żadnych przychodzących tweetów.
  2. Te tweety mogą być przetwarzane w małych partiach na AWS EMR z Spark Streaming API.
  3. Przetworzone tweety mogą być przechowywane w tabelach Hive.
  4. Te przetworzone tweety można codziennie agregować za pomocą platformy Spark. Na przykład możesz znaleźć całkowitą liczbę tweetów, często używane hashtagi, wszelkie nadchodzące wydarzenia wyróżnione w tweetach i tak dalej.

Październik – Programowanie zaawansowane

Język programowania - Wikipedia | Inżynier danych w 2023 roku

Źródło: Wikipedia

Ostatni kwartał skupi się na opanowaniu umiejętności wymaganych do ukończenia profilu inżynierii danych. Zaczniemy od zwrócenia naszej uwagi z powrotem na programowanie. Skoncentrujemy się na niektórych zaawansowanych umiejętnościach programistycznych, które będą miały kluczowe znaczenie dla Twojego rozwoju jako inżyniera danych w 2023 roku. Są one przydatne do pracy nad większym projektem w branży, ponieważ musimy uwzględnić najlepsze praktyki programistyczne. W tym celu możesz pracować nad następującymi

  1. Koncepcje OOP – Klasy, obiekty, dziedziczenie
  2. Zrozumienie funkcji rekurencji
  3. Testowanie – Testy jednostkowe i integracyjne

Listopad — NoSQL

Plik:MongoDB Logo.svg | Inżynier danych w 2023 roku

Źródło: Wikimedia Commons

Pracując z relacyjnymi bazami danych, musiałeś zauważyć pewne rażące wady, takie jak konieczność ustrukturyzowania danych, zapytania nie są tak szybkie podczas pracy ze stosunkowo dużymi danymi, a nawet mają problemy ze skalowalnością. Aby przezwyciężyć te wady, przemysł wymyślił bazy danych NoSQL. Te bazy danych mogą obsługiwać dane ustrukturyzowane i nieustrukturyzowane, są szybkie do wstawiania danych, a nawet zapytania są znacznie szybsze. Są one coraz częściej wykorzystywane w branży do przechwytywania danych użytkowników.

Zacznij więc od zrozumienia tzw różnica między bazami danych SQL i NoSQL. Gdy już to zrobisz, skup się na różne typy baz danych NoSQL.

Możesz skupić się na nauce jednej konkretnej bazy danych NoSQL. Sugerowałbym wybranie MongoDB, ponieważ jest on powszechnie używany w branży i jest bardzo łatwy do nauczenia się dla kogoś, kto już opanował SQL. aby nauczyć się MongoDB, możesz skupić się na następujących kwestiach –

  1. Twierdzenie CAP
  2. Dokumenty i zbiory
  3. operacje CRUD
  4. Praca z różnymi typami operatorów – Array, Logical, Comparison itp.
  5. Rurociąg agregacji
  6. Sharding i replikacja w MongoDB

Projekty – W ramach doskonałej praktycznej praktyki zachęcam do założenia klastra MongoDB na AWS. Będziesz musiał hostować serwery MongoDB w różnych instancjach EC2. Możesz traktować jeden z nich jako węzły podstawowe, a pozostałe jako węzły drugorzędne. Ponadto możesz zastosować koncepcje dzielenia na części i replikacji, aby utrwalić swoje zrozumienie. I możesz użyć dowolnego API typu open source, aby traktować je jako źródło danych przychodzących.

Bez wątpienia jest to zbaczanie z drogi i dogłębne badanie NoSQL, ale da ci dobre zrozumienie, w jaki sposób serwery są skonfigurowane i współdziałają ze sobą w prawdziwym świecie, i będzie bonusem na drodze do zostania inżynier danych w 2023 roku.

Grudzień – Planowanie przepływu pracy

Przepływ powietrza Apache | Inżynier danych w 2023 roku

Źródło: Wikipedia

Potoki ETL tworzone w celu pobierania danych do baz danych i hurtowni danych muszą być zarządzane oddzielnie. Dzieje się tak, ponieważ każdy projekt inżynierii danych obejmuje budowanie złożonych potoków ETL, które muszą być zaplanowane w różnych odstępach czasu i pracować z różnymi typami danych. Potrzebujemy potężnego narzędzia do planowania przepływu pracy, aby skutecznie zarządzać takimi potokami i płynnie obsługiwać błędy. Jednym z najpopularniejszych jest Przepływ powietrza Apache.

W Apache Airflow możesz nauczyć się następujących pojęć:

  1. DAG-i
  2. Zależności zadań
  3. Operatorzy
  4. Scheduling
  5. Rozgałęzienie

Projekt - Do tej pory będziesz miał dogłębną wiedzę na temat podstawowych narzędzi inżynierii danych. Przygotują Cię one do wymarzonej rozmowy o pracę i zostania inżynierem danych w 2023 roku.

Aby pokazać swoje umiejętności, możesz zbudować projekt zwieńczenia. Tutaj możesz pobierać dane wsadowe i przesyłane strumieniowo, aby zaprezentować swoją całościową wiedzę w tej dziedzinie. Możesz zarządzać potokami ETL za pomocą Apache Airflow. I na koniec pomyśl o przeniesieniu projektu do chmury, aby w żadnym momencie nie wystąpił kryzys zasobów. To był ostatni skok wiary w zostanie inżynierem danych w 2023 roku.

Inżynier danych w 2023 roku

Wnioski

Dzięki tym narzędziom rozpoczniesz swoją podróż w dziedzinie inżynierii danych. Uzbrojony w te narzędzia i przykładowe projekty, możesz szybko zrealizować dowolny staż i rozmowę kwalifikacyjną i zostać inżynierem danych w 2023 roku. Jednak te narzędzia inżynierii danych stale ewoluują. Dlatego niezbędne jest bycie na bieżąco z najnowszymi technologiami i trendami, aby zostać inżynierem danych w 2023 roku. Miłej nauki!

spot_img

Najnowsza inteligencja

spot_img