Przygotuj dane z Amazon EMR do uczenia maszynowego za pomocą Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Przygotuj dane z Amazon EMR do uczenia maszynowego za pomocą Amazon SageMaker Data Wrangler

Przygotowanie danych jest głównym składnikiem potoków uczenia maszynowego (ML). W rzeczywistości szacuje się, że specjaliści ds. danych spędzają około 80 procent swojego czasu na przygotowaniu danych. Na tym intensywnym rynku zespoły chcą analizować dane i szybko wydobywać bardziej znaczące spostrzeżenia. Klienci przyjmują bardziej wydajne i wizualne sposoby budowania systemów przetwarzania danych.

Pogromca danych Amazon SageMaker upraszcza proces przygotowywania danych i inżynierii funkcji, skracając czas potrzebny z tygodni do minut, udostępniając jeden interfejs wizualny dla analityków danych do wybierania, czyszczenia danych, tworzenia funkcji i automatyzacji przygotowywania danych w przepływach pracy ML bez pisania kodu. Możesz importować dane z wielu źródeł danych, takich jak Usługa Amazon Simple Storage (Amazon S3), Amazonka Atena, Amazonka Przesunięcie ku czerwienii Płatek śniegu. Możesz teraz również użyć Amazon EMR jako źródło danych w Data Wrangler, aby łatwo przygotować dane dla ML.

Analizowanie, przekształcanie i przygotowywanie dużych ilości danych to podstawowy krok każdej nauki o danych i przepływu pracy w uczeniu maszynowym. Specjaliści ds. danych, tacy jak analitycy danych, chcą wykorzystać moc Apache Spark, Ul, presto działa na Amazon EMR w celu szybkiego przygotowania danych, ale krzywa uczenia się jest stroma. Nasi klienci chcieli mieć możliwość łączenia się z Amazon EMR w celu uruchamiania zapytań SQL ad hoc w Hive lub Presto w celu zapytania o dane w wewnętrznym lub zewnętrznym metastore (np. AWS Glue Data Catalog) i przygotowania danych w ciągu kilku kliknięć.

W tym artykule na blogu omówimy, w jaki sposób klienci mogą teraz wyszukiwać istniejące klastry Amazon EMR i łączyć się z nimi, korzystając z wizualnego doświadczenia w SageMaker Data Wrangler. Mogą wizualnie sprawdzić bazę danych, tabele, schematy i zapytania Presto, aby przygotować się do modelowania lub raportowania. Następnie mogą szybko profilować dane za pomocą interfejsu wizualnego, aby oceniać jakość danych, identyfikować nieprawidłowości lub brakujące lub błędne dane oraz otrzymywać informacje i zalecenia dotyczące rozwiązywania tych problemów. Ponadto mogą analizować, czyścić i konstruować funkcje za pomocą ponad tuzina dodatkowych wbudowanych analiz i ponad 300 dodatkowych wbudowanych transformacji wspieranych przez Spark bez pisania ani jednej linijki kodu.

Omówienie rozwiązania 

Specjaliści od danych mogą szybko znajdować i łączyć się z istniejącymi klastrami EMR za pomocą konfiguracji SageMaker Studio. Ponadto specjaliści ds. danych mogą zamykać klastry EMR za pomocą zaledwie kilku kliknięć SageMaker Studio wykorzystujące predefiniowane szablony i tworzenie klastrów EMR na żądanie. Za pomocą tych narzędzi klienci mogą od razu przejść do uniwersalnego notatnika SageMaker Studio i pisać kod w Apache Spark, Hive, Presto lub PySpark w celu przygotowania danych na dużą skalę. Ze względu na stromą krzywą uczenia się tworzenia kodu platformy Spark w celu przygotowania danych nie wszyscy specjaliści ds. danych czują się komfortowo z tą procedurą. Dzięki Amazon EMR jako źródłu danych dla Amazon SageMaker Data Wrangler możesz teraz szybko i łatwo połączyć się z Amazon EMR bez pisania ani jednej linijki kodu.

Poniższy diagram przedstawia różne składniki użyte w tym rozwiązaniu.

Pokazujemy dwie opcje uwierzytelniania, których można użyć do ustanowienia połączenia z klastrem EMR. Dla każdej opcji wdrażamy unikalny stos Tworzenie chmury AWS szablony.

Szablon CloudFormation wykonuje następujące akcje po wybraniu każdej opcji:

  • Tworzy domenę Studio w trybie tylko VPC wraz z nazwanym profilem użytkownika studio-user.
  • Tworzy bloki konstrukcyjne, w tym VPC, punkty końcowe, podsieci, grupy zabezpieczeń, klaster EMR i inne zasoby wymagane do pomyślnego uruchomienia przykładów.
  • W przypadku klastra EMR łączy AWS Glue Data Catalog jako magazyn metadanych dla EMR Hive i Presto, tworzy tabelę Hive w EMR i wypełnia ją danymi ze zbioru danych lotniska w USA.
  • W przypadku szablonu LDAP CloudFormation tworzy plik Amazon Elastic Compute Cloud (Amazon EC2) instancja do hostowania serwera LDAP w celu uwierzytelnienia użytkownika Hive i Presto LDAP.

Opcja 1: Lekki protokół dostępu do katalogów

W przypadku szablonu uwierzytelniania LDAP CloudFormation zapewniamy instancję Amazon EC2 z serwerem LDAP i konfigurujemy klaster EMR, aby używał tego serwera do uwierzytelniania. To jest włączone TLS.

Opcja 2: Brak autoryzacji

W szablonie CloudFormation uwierzytelniania bez uwierzytelniania używamy standardowego klastra EMR bez włączonej autoryzacji.

Wdróż zasoby za pomocą AWS CloudFormation

Wykonaj następujące kroki, aby wdrożyć środowisko:

  1. Zaloguj się do Konsola zarządzania AWS jako Zarządzanie tożsamością i dostępem AWS (IAM) użytkownik, najlepiej administrator.
  2. Dodaj Uruchom stos aby uruchomić szablon CloudFormation dla odpowiedniego scenariusza uwierzytelniania. Upewnij się, że region użyty do wdrożenia stosu CloudFormation nie ma istniejącej domeny Studio. Jeśli masz już domenę Studio w regionie, możesz wybrać inny region.
    • Stos uruchamiania LDAP
      Przygotuj dane z Amazon EMR do uczenia maszynowego za pomocą Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.
    • Brak stosu uruchamiania uwierzytelniania
      Przygotuj dane z Amazon EMR do uczenia maszynowego za pomocą Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.
  3. Dodaj Następna.
  4. W razie zamówieenia projektu Nazwa stosuwprowadź nazwę stosu (na przykład dw-emr-blog).
  5. Pozostałe wartości pozostaw jako domyślne.
  6. Aby kontynuować, wybierz Następna ze strony szczegółów stosu i opcji stosu. Stos LDAP używa następujących poświadczeń:
    • nazwa użytkownika: david
    • hasło:  welcome123
  7. Na stronie recenzji zaznacz pole wyboru, aby potwierdzić, że AWS CloudFormation może tworzyć zasoby.
  8. Dodaj Utwórz stos. Poczekaj, aż status stosu zmieni się z CREATE_IN_PROGRESS do CREATE_COMPLETE. Proces trwa zwykle 10–15 minut.

Przygotuj dane z Amazon EMR do uczenia maszynowego za pomocą Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Uwaga: jeśli chcesz wypróbować wiele stosów, wykonaj czynności opisane w sekcji Oczyszczanie. Pamiętaj, że musisz usuń domenę SageMaker Studio przed pomyślnym uruchomieniem następnego stosu.

Skonfiguruj Amazon EMR jako źródło danych w Data Wrangler

W tej sekcji omówimy łączenie się z istniejącym klastrem Amazon EMR utworzonym za pomocą szablonu CloudFormation jako źródła danych w Data Wrangler.

Utwórz nowy przepływ danych

Aby utworzyć przepływ danych, wykonaj następujące czynności:

  1. W konsoli SageMaker wybierz Studio Amazon SageMaker w okienku nawigacji.
  2. Dodaj Otwarte studio.
  3. Wybierz w programie uruchamiającym Nowy przepływ danych. Ewentualnie na filet menu rozwijanego, wybierz Nowy, a następnie wybierz przepływ Data Wrangler.
  4. Tworzenie nowego przepływu może zająć kilka minut. Po utworzeniu przepływu zobaczysz plik Importuj daty strona.

Przygotuj dane z Amazon EMR do uczenia maszynowego za pomocą Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Dodaj Amazon EMR jako źródło danych w Data Wrangler

W menu Dodaj źródło danych wybierz Amazon EMR.

Przygotuj dane z Amazon EMR do uczenia maszynowego za pomocą Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Możesz przeglądać wszystkie klastry EMR, do których wyświetlania ma uprawnienia Twoja rola wykonawcza w Studio. Masz dwie opcje łączenia się z klastrem; jeden to interaktywny interfejs użytkownika, a drugi to pierwszy utwórz sekret za pomocą Menedżera tajemnic AWS za pomocą adresu URL JDBC, w tym informacji o klastrze EMR, a następnie podaj zapisany AWS tajny ARN w interfejsie użytkownika, aby połączyć się z Presto. Na tym blogu podążamy za pierwszą opcją. Wybierz jeden z następujących klastrów, którego chcesz użyć. Kliknij Następnai wybierz Punkty końcowe.

Przygotuj dane z Amazon EMR do uczenia maszynowego za pomocą Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Wybierz Presto, połączyć się z Amazonka PEM, utwórz nazwę identyfikującą połączenie i kliknij Dalej.

Przygotuj dane z Amazon EMR do uczenia maszynowego za pomocą Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Wybierz Uwierzytelnianie wpisz LDAP lub Bez uwierzytelniania i kliknij Skontaktuj się.

  • W przypadku protokołu LDAP (Lightweight Directory Access Protocol) podaj nazwę użytkownika i hasło do uwierzytelnienia.

Przygotuj dane z Amazon EMR do uczenia maszynowego za pomocą Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Przygotuj dane z Amazon EMR do uczenia maszynowego za pomocą Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

  • W przypadku braku uwierzytelnienia zostaniesz połączony z EMR Presto bez podawania poświadczeń użytkownika w ramach VPC. Wejdź na stronę eksploratora SQL Data Wranglera dla EMR.

Przygotuj dane z Amazon EMR do uczenia maszynowego za pomocą Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Po nawiązaniu połączenia można interaktywnie przeglądać drzewo bazy danych i podgląd tabeli lub schemat. Możesz także wyszukiwać, eksplorować i wizualizować dane z EMR. W przypadku podglądu domyślnie zobaczysz limit 100 rekordów. W przypadku niestandardowego zapytania możesz podać instrukcje SQL w oknie edytora zapytań, a po kliknięciu przycisku run przycisk, zapytanie zostanie wykonane w silniku Presto firmy EMR.

Przygotuj dane z Amazon EMR do uczenia maszynowego za pomocą Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Połączenia Anuluj zapytanie przycisk umożliwia anulowanie trwających zapytań, jeśli zajmują one wyjątkowo dużo czasu.

Ostatnim krokiem jest import. Gdy będziesz mieć gotowe dane, których dotyczy zapytanie, możesz zaktualizować ustawienia próbkowania dla wyboru danych zgodnie z typem próbkowania (FirstK, Random lub Stratified) i rozmiarem próbkowania na potrzeby importowania danych do Data Wrangler.

Kliknij import. Strona przygotowania zostanie załadowana, umożliwiając dodanie różnych przekształceń i niezbędnych analiz do zestawu danych.

Przygotuj dane z Amazon EMR do uczenia maszynowego za pomocą Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Przejdź do DataFlow z górnego ekranu i dodaj więcej kroków do przepływu zgodnie z potrzebami do przekształceń i analiz. Możesz uruchomić raport wglądu w dane, aby zidentyfikować problemy z jakością danych i uzyskać zalecenia dotyczące rozwiązania tych problemów. Spójrzmy na kilka przykładowych przekształceń.

Przejdź do przepływu danych, a to jest ekran, który powinieneś zobaczyć. Pokazuje nam, że używamy EMR jako źródła danych przy użyciu złącza Presto.

Przygotuj dane z Amazon EMR do uczenia maszynowego za pomocą Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Kliknijmy przycisk + po prawej stronie typów danych i wybierzmy Dodaj transformację. Gdy to zrobisz, powinien pojawić się następujący ekran:

Przygotuj dane z Amazon EMR do uczenia maszynowego za pomocą Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Przyjrzyjmy się danym. Widzimy, że ma wiele funkcji, takich jak kod_iata, lotnisko, miasto, były, kraj, szerokość, długość geograficzna. Widzimy, że cały zestaw danych pochodzi z jednego kraju, którym są Stany Zjednoczone, i brakuje wartości w szerokości i długości geograficznej. Brak danych może powodować błąd w oszacowaniu parametrów i może zmniejszyć reprezentatywność próbek, dlatego musimy wykonać pewne przypisanie i obsługiwać brakujące wartości w naszym zbiorze danych.

Przygotuj dane z Amazon EMR do uczenia maszynowego za pomocą Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Kliknijmy na Dodaj krok przycisk na pasku nawigacyjnym po prawej stronie. Wybierz Brak uchwytu. Konfiguracje można zobaczyć na poniższych zrzutach ekranu. Pod Przekształcać, wybierać Przypisać. Wybierz typ kolumny jako Numeryczne i nazwy kolumn Szerokość i Długość geograficzna. Będziemy implikować brakujące wartości przy użyciu przybliżonej wartości mediany. Wyświetl podgląd i dodaj transformację.

Przygotuj dane z Amazon EMR do uczenia maszynowego za pomocą Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Przygotuj dane z Amazon EMR do uczenia maszynowego za pomocą Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Spójrzmy teraz na inny przykład transformacji. Podczas tworzenia modelu uczenia maszynowego kolumny są usuwane, jeśli są zbędne lub nie pomagają Twojemu modelowi. Najczęstszym sposobem usunięcia kolumny jest jej upuszczenie. W naszym zbiorze danych funkcja kraj można usunąć, ponieważ zestaw danych jest przeznaczony specjalnie dla danych lotnisk w USA. Zobaczmy, jak możemy zarządzać kolumnami. Kliknijmy na Dodaj krok przycisk na pasku nawigacyjnym po prawej stronie. Wybierz Zarządzaj kolumnami. Konfiguracje można zobaczyć na poniższych zrzutach ekranu. Pod Przekształcać, Wybierz Upuść kolumnę, i pod Kolumny do upuszczenia, Wybierz Państwo.

Przygotuj dane z Amazon EMR do uczenia maszynowego za pomocą Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI. Przygotuj dane z Amazon EMR do uczenia maszynowego za pomocą Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Możesz kontynuować dodawanie kroków na podstawie różnych przekształceń wymaganych dla Twojego zestawu danych. Wróćmy do naszego przepływu danych. Zobaczysz teraz dwa kolejne bloki pokazujące wykonane przez nas przekształcenia. W naszym scenariuszu możesz zobaczyć Przypisać i Upuść kolumnę.

Przygotuj dane z Amazon EMR do uczenia maszynowego za pomocą Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Praktycy ML spędzają dużo czasu na tworzeniu kodu inżynierii funkcji, stosowaniu go do swoich początkowych zestawów danych, szkoleniu modeli na zaprojektowanych zestawach danych i ocenie dokładności modelu. Biorąc pod uwagę eksperymentalny charakter tej pracy, nawet najmniejszy projekt będzie prowadził do wielu iteracji. Ten sam kod inżynierii funkcji jest często uruchamiany wielokrotnie, marnując czas i zasoby obliczeniowe na powtarzanie tych samych operacji. W dużych organizacjach może to spowodować jeszcze większą utratę produktywności, ponieważ różne zespoły często wykonują identyczne zadania lub nawet piszą zduplikowany kod inżynierii funkcji, ponieważ nie mają wiedzy o wcześniejszej pracy. Aby uniknąć ponownego przetwarzania obiektów, wyeksportujemy teraz nasze przekształcone obiekty do Sklep z funkcjami Amazon. Kliknijmy na + przycisk po prawej stronie Upuść kolumnę. Wybierać Eksportować do i wybierz Sagemaker Feature Store (za pośrednictwem notebooka Jupyter).

Przygotuj dane z Amazon EMR do uczenia maszynowego za pomocą Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Możesz łatwo wyeksportować wygenerowane funkcje do Sklep z funkcjami SageMaker wybierając go jako miejsce docelowe. Możesz zapisać funkcje w istniejącej grupie funkcji lub utworzyć nową.

Przygotuj dane z Amazon EMR do uczenia maszynowego za pomocą Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Przygotuj dane z Amazon EMR do uczenia maszynowego za pomocą Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Stworzyliśmy teraz funkcje za pomocą Data Wrangler i z łatwością zapisaliśmy te funkcje w Feature Store. Pokazaliśmy przykładowy przepływ pracy dla inżynierii funkcji w interfejsie użytkownika Data Wrangler. Następnie zapisaliśmy te funkcje w Feature Store bezpośrednio z Data Wrangler, tworząc nową grupę funkcji. Na koniec uruchomiliśmy zadanie przetwarzania, aby wprowadzić te funkcje do Feature Store. Data Wrangler i Feature Store wspólnie pomogły nam zbudować automatyczne i powtarzalne procesy, aby usprawnić nasze zadania związane z przygotowywaniem danych przy minimalnym wymaganym kodowaniu. Data Wrangler zapewnia nam również elastyczność w automatyzacji tego samego procesu przygotowywania danych za pomocą zaplanowane prace. Możemy również zautomatyzować szkolenie lub inżynierię funkcji za pomocą SageMaker Pipelines (za pośrednictwem Jupyter Notebook) i wdrożyć do punktu końcowego wnioskowania za pomocą potoku wnioskowania SageMaker (za pośrednictwem Jupyter Notebook).

Przygotuj dane z Amazon EMR do uczenia maszynowego za pomocą Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Sprzątać

Jeśli Twoja praca z Data Wrangler jest zakończona, wybierz stos utworzony ze strony CloudFormation i usuń go, aby uniknąć ponoszenia dodatkowych opłat.

Wnioski

W tym poście omówiliśmy, jak skonfigurować Amazon EMR jako źródło danych w Data Wrangler, jak przekształcić i przeanalizować zestaw danych oraz jak wyeksportować wyniki do przepływu danych do wykorzystania w notatniku Jupyter. Po wizualizacji naszego zestawu danych za pomocą wbudowanych funkcji analitycznych Data Wranglera jeszcze bardziej udoskonaliliśmy nasz przepływ danych. Znaczący jest fakt, że stworzyliśmy potok przygotowania danych bez napisania ani jednej linijki kodu.

Aby rozpocząć korzystanie z Data Wranglera, zobacz Przygotuj dane ML za pomocą Amazon SageMaker Data Wrangleri zapoznaj się z najnowszymi informacjami nt Strona produktu Data Wrangler.


O autorach

Przygotuj dane z Amazon EMR do uczenia maszynowego za pomocą Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI. Ajjay Govindaram jest starszym architektem rozwiązań w AWS. Pracuje ze strategicznymi klientami, którzy wykorzystują AI/ML do rozwiązywania złożonych problemów biznesowych. Jego doświadczenie polega na zapewnianiu wskazówek technicznych oraz pomocy projektowej w przypadku wdrożeń aplikacji AI/ML na niewielką lub dużą skalę. Jego wiedza obejmuje architekturę aplikacji, big data, analitykę i uczenie maszynowe. Lubi słuchać muzyki podczas odpoczynku, przebywania na świeżym powietrzu i spędzania czasu z najbliższymi.

Przygotuj dane z Amazon EMR do uczenia maszynowego za pomocą Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.Isza Dua jest starszym architektem rozwiązań z siedzibą w San Francisco Bay Area. Pomaga klientom korporacyjnym AWS rozwijać się, rozumiejąc ich cele i wyzwania oraz doradza im, w jaki sposób mogą zaprojektować swoje aplikacje w sposób natywny dla chmury, jednocześnie upewniając się, że są one odporne i skalowalne. Pasjonuje się technologiami uczenia maszynowego i zrównoważonym rozwojem środowiskowym.

Przygotuj dane z Amazon EMR do uczenia maszynowego za pomocą Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.Rui Jianga jest inżynierem ds. rozwoju oprogramowania w firmie AWS z siedzibą w rejonie Nowego Jorku. Jest członkiem zespołu SageMaker Data Wrangler, pomagając w opracowywaniu rozwiązań inżynieryjnych dla klientów korporacyjnych AWS w celu spełnienia ich potrzeb biznesowych. Poza pracą lubi odkrywać nowe potrawy, fitness, zajęcia na świeżym powietrzu i podróżować.

Znak czasu:

Więcej z Uczenie maszynowe AWS