Klienci używają Amazonka Przesunięcie ku czerwieni do prowadzenia krytycznych analiz biznesowych na petabajtach ustrukturyzowanych i częściowo ustrukturyzowanych danych. Apache Spark to popularna platforma, której można używać do tworzenia aplikacji do przypadków użycia, takich jak ETL (wyodrębnianie, przekształcanie i ładowanie), analityka interaktywna i uczenie maszynowe (ML). Apache Spark umożliwia tworzenie aplikacji w różnych językach, takich jak Java, Scala i Python, uzyskując dostęp do danych w hurtowni danych Amazon Redshift.
Integracja Amazon Redshift dla Apache Spark pomaga programistom bezproblemowo tworzyć i uruchamiać aplikacje Apache Spark na danych Amazon Redshift. Deweloperzy mogą korzystać z usług analitycznych AWS i ML, takich jak Amazon EMR, Klej AWS, Amazon Sage Maker do bezproblemowego tworzenia aplikacji Apache Spark, które odczytują i zapisują w hurtowni danych Amazon Redshift. Możesz to zrobić bez uszczerbku dla wydajności aplikacji lub spójności transakcyjnej danych.
W tym poście omawiamy, dlaczego integracja Amazon Redshift dla Apache Spark jest krytyczna i wydajna dla analityki i uczenia maszynowego. Ponadto omawiamy przypadki użycia, które wykorzystują integrację Amazon Redshift z Apache Spark, aby zwiększyć wpływ na biznes. Na koniec przeprowadzimy Cię krok po kroku przez przykłady korzystania z tego oficjalnego łącznika AWS w aplikacji Apache Spark.
Integracja Amazon Redshift dla Apache Spark
Integracja Amazon Redshift dla Apache Spark minimalizuje uciążliwy i często ręczny proces konfigurowania złącza spark-redshift (wersja społecznościowa) i skraca czas potrzebny na przygotowanie się do zadań analitycznych i ML. Wystarczy określić połączenie z hurtownią danych, aby w ciągu kilku minut rozpocząć pracę z danymi Amazon Redshift z aplikacji opartych na Apache Spark.
Możesz użyć kilku funkcji wypychania w dół dla operacji, takich jak sortowanie, agregowanie, ograniczanie, łączenie i funkcje skalarne, dzięki czemu tylko odpowiednie dane są przenoszone z magazynu danych Amazon Redshift do zużywającej aplikacji Apache Spark. Pozwala to poprawić wydajność aplikacji. Administratorzy Amazon Redshift mogą łatwo identyfikować kod SQL generowany przez aplikacje oparte na platformie Spark. W tym poście pokazujemy, jak można znaleźć kod SQL wygenerowany przez zadanie Apache Spark.
Ponadto integracja Amazon Redshift dla Apache Spark wykorzystuje format pliku Parquet podczas umieszczania danych w katalogu tymczasowym. Amazon Redshift używa instrukcji UNLOAD SQL do przechowywania tych danych tymczasowych Usługa Amazon Simple Storage (Amazon S3). Aplikacja Apache Spark pobiera wyniki z katalogu tymczasowego (przechowywanego w formacie pliku Parquet), co poprawia wydajność.
Możesz także pomóc w zwiększeniu bezpieczeństwa swoich aplikacji, używając AWS Zarządzanie tożsamością i dostępem (IAM), aby połączyć się z Amazon Redshift.
Integracja Amazon Redshift dla Apache Spark jest oparta na złączu spark-redshift (wersja społecznościowa) i poprawia ją pod kątem wydajności i bezpieczeństwa, pomagając uzyskać nawet 10-krotnie wyższą wydajność aplikacji.
Przypadki użycia integracji Amazon Redshift z Apache Spark
W naszym przypadku kierownictwo firmy opartej na produkcie chce poznać sprzedaż każdego produktu na wielu rynkach. Ponieważ sprzedaż firmy zmienia się dynamicznie, śledzenie sprzedaży na wielu rynkach stało się wyzwaniem dla kierownictwa. Jednak ogólna sprzedaż spada, a kierownictwo firmy chce dowiedzieć się, które rynki nie radzą sobie, aby móc skierować na te rynki kampanie promocyjne.
W przypadku sprzedaży na wielu rynkach dane dotyczące sprzedaży produktów, takie jak zamówienia, transakcje i dane dotyczące przesyłek, są dostępne w usłudze Amazon S3 w usłudze Data Lake. Zespół inżynierów danych może używać Apache Spark z Amazon EMR lub AWS Glue do analizy tych danych w Amazon S3.
Dane inwentaryzacyjne są dostępne w Amazon Redshift. Podobnie zespół inżynierów danych może analizować te dane za pomocą Apache Spark przy użyciu zadania Amazon EMR lub AWS Glue, korzystając z integracji Amazon Redshift dla Apache Spark w celu wykonywania agregacji i transformacji. Zagregowany i przekształcony zestaw danych można zapisać z powrotem w Amazon Redshift przy użyciu integracji Amazon Redshift dla Apache Spark.
Korzystanie z rozproszonej struktury, takiej jak Apache Spark, z integracją Amazon Redshift dla Apache Spark, może zapewnić widoczność jeziora danych i hurtowni danych w celu generowania szczegółowych informacji o sprzedaży. Te spostrzeżenia mogą być udostępniane interesariuszom biznesowym i użytkownikom biznesowym w Amazon Redshift, aby podejmować świadome decyzje dotyczące prowadzenia ukierunkowanych promocji dla segmentów rynku o niskich dochodach.
Dodatkowo możemy skorzystać z integracji Amazon Redshift z Apache Spark w następujących przypadkach użycia:
- Klient Amazon EMR lub AWS Glue, który uruchamia zadania Apache Spark, chce przekształcić dane i zapisać je w Amazon Redshift w ramach swojego potoku ETL
- Klient ML używa Apache Spark z SageMaker do inżynierii funkcji w celu uzyskiwania dostępu i przekształcania danych w Amazon Redshift
- Klient Amazon EMR, AWS Glue lub SageMaker używa Apache Spark do interaktywnej analizy danych z danymi o Amazon Redshift z notebooków
Przykłady integracji Amazon Redshift dla Apache Spark w aplikacji Apache Spark
W tym poście pokazujemy, jak połączyć Amazon Redshift z Amazon EMR Elastyczna chmura obliczeniowa Amazon (Amazonka EC2), Bezserwerowe Amazon EMRi AWS Glue przy użyciu wspólnego skryptu. W poniższym przykładowym kodzie generujemy raport przedstawiający kwartalną sprzedaż za rok 2008. W tym celu łączymy dwie tabele Amazon Redshift za pomocą Apache Spark DataFrame, uruchamiamy predykat pushdown, agregujemy i sortujemy dane oraz zapisujemy przekształcone dane z powrotem do Amazon Redshift. Skrypt wykorzystuje PySpark
Skrypt wykorzystuje Uwierzytelnianie oparte na IAM dla Amazon Redshift. Role IAM używane przez Amazon EMR i AWS Glue powinny mieć odpowiednie uprawnienia do uwierzytelniania Amazon Redshift oraz dostęp do zasobnika S3 do tymczasowego przechowywania danych.
Poniższe przykładowe zasady umożliwiają roli IAM wywoływanie GetClusterCredentials
operacje:
Poniższa przykładowa polityka umożliwia dostęp do zasobnika S3 do tymczasowego przechowywania danych:
Pełny skrypt jest następujący:
Jeśli planujesz użyć powyższego skryptu w swoim środowisku, pamiętaj o zastąpieniu wartości następujących zmiennych wartościami odpowiednimi dla Twojego środowiska: jdbc_iam_url
, temp_dir
, aws_role
.
W następnej sekcji przejdziemy przez kolejne kroki, aby uruchomić ten skrypt w celu agregacji przykładowego zestawu danych, który jest udostępniany w usłudze Amazon Redshift.
Wymagania wstępne
Zanim zaczniemy, upewnij się, że spełnione są następujące wymagania wstępne:
Wdrażaj zasoby za pomocą AWS CloudFormation
Wykonaj następujące kroki, aby wdrożyć stos CloudFormation:
- Zaloguj się do Konsola zarządzania AWS, a następnie uruchom stos CloudFormation:
Możesz również pobierz szablon CloudFormation do tworzenia zasobów wymienionych w tym poście za pomocą infrastruktury jako kodu (IaC). Użyj tego szablonu podczas uruchamiania nowego stosu CloudFormation.
- Przewiń w dół strony, aby wybrać Przyjmuję do wiadomości, że AWS CloudFormation może tworzyć zasoby IAM dla Nasze możliwości, A następnie wybierz Utwórz stos.
Proces tworzenia stosu trwa od 15 do 20 minut. Szablon CloudFormation tworzy następujące zasoby:
-
- Amazon VPC z potrzebnymi podsieciami, tablicami tras i bramą NAT
- Wiadro S3 z imieniem
redshift-spark-databucket-xxxxxxx
(zwróć uwagę, że xxxxxxx to losowy ciąg, dzięki któremu nazwa zasobnika jest niepowtarzalna) - Klaster Amazon Redshift z przykładowymi danymi załadowanymi do bazy danych
dev
i głównym użytkownikiemredshiftmasteruser
. Na potrzeby tego wpisu na blogu,redshiftmasteruser
z uprawnieniami administracyjnymi jest używany. Zaleca się jednak używanie użytkownika z precyzyjną kontrolą dostępu w środowisku produkcyjnym. - Rola IAM do wykorzystania w Amazon Redshift z możliwością żądania tymczasowych poświadczeń z bazy danych programistów klastra Amazon Redshift
- Studio Amazon EMR z wymaganymi rolami IAM
- Wersja 6.9.0 Amazon EMR w klastrze EC2 z wymaganymi rolami IAM
- Aplikacja Amazon EMR Serverless w wersji 6.9.0
- Połączenie AWS Glue i zadanie AWS Glue w wersji 4.0
- A Notatnik Jupyter do uruchomienia przy użyciu Amazon EMR Studio przy użyciu Amazon EMR w klastrze EC2
- Skrypt PySpark do uruchamiania przy użyciu Amazon EMR Studio i Amazon EMR Serverless
- Po zakończeniu tworzenia stosu wybierz nazwę stosu
redshift-spark
i przejdź do Wyjścia
Wykorzystamy te wartości wyjściowe w dalszej części tego postu.
W kolejnych sekcjach pokazujemy kroki integracji Amazon Redshift dla Apache Spark z Amazon EMR na Amazon EC2, Amazon EMR Serverless i AWS Glue.
Użyj integracji Amazon Redshift z Apache Spark na Amazon EMR na EC2
Począwszy od wersji Amazon EMR 6.9.0 i nowszych, złącze korzystające z integracji Amazon Redshift dla Apache Spark i sterownik Amazon Redshift JDBC są dostępne lokalnie w Amazon EMR. Pliki te znajdują się pod /usr/share/aws/redshift/
informator. Jednak w poprzednich wersjach Amazon EMR, społeczność wersja spark-redshift
złącze jest dostępna.
Poniższy przykład pokazuje, jak połączyć Amazon Redshift przy użyciu jądra PySpark za pośrednictwem pliku an Studio Amazon EMR zeszyt. Stos CloudFormation stworzył Amazon EMR Studio, Amazon EMR w klastrze EC2 i dostępny do uruchomienia notebook Jupyter. Aby przejść przez ten przykład, wykonaj następujące kroki:
- Pobierz notatnik Jupyter udostępniony w segmencie S3:
- W danych wyjściowych stosu CloudFormation poszukaj wartości for
EMRStudioNotebook
, co powinno wskazywać naredshift-spark-emr.ipynb
notebook dostępny w kubełku S3. - Wybierz link lub otwórz link w nowej karcie, kopiując adres URL notatnika.
- Po otwarciu linku pobierz notatnik, wybierając Do pobrania, co spowoduje zapisanie pliku lokalnie na komputerze.
- W danych wyjściowych stosu CloudFormation poszukaj wartości for
- Uzyskaj dostęp do Amazon EMR Studio, wybierając lub kopiując łącze podane w danych wyjściowych stosu CloudFormation dla klucza
EMRStudioURL
. - W okienku nawigacji wybierz Przestrzenie robocze.
- Dodaj Utwórz obszar roboczy.
- Na przykład podaj nazwę obszaru roboczego
redshift-spark
. - rozwiń Zaawansowana konfiguracja sekcję i wybierz Dołącz Workspace do klastra EMR.
- Pod Dołącz do klastra EMR, wybierz klaster EMR o podanej nazwie
emrCluster-Redshift-Spark
. - Dodaj Utwórz obszar roboczy.
- Po utworzeniu obszaru roboczego Amazon EMR Studio i uzyskaniu stanu Załączono można uzyskać dostęp do obszaru roboczego, wybierając nazwę obszaru roboczego.
To powinno otworzyć obszar roboczy w nowej karcie. Pamiętaj, że jeśli masz blokadę wyskakujących okienek, być może będziesz musiał zezwolić Obszarowi roboczemu na otwarcie lub wyłączenie blokowania wyskakujących okienek.
W przestrzeni roboczej Amazon EMR Studio przesyłamy teraz pobrany wcześniej notatnik Jupyter.
- Dodaj Prześlij przeglądać lokalny system plików i przesyłać notatnik Jupyter (
redshift-spark-emr.ipynb
). - Wybierz (kliknij dwukrotnie) plik
redshift-spark-emr.ipynb
notatnik w obszarze roboczym, aby otworzyć notatnik.
Notatnik zawiera szczegółowe informacje o różnych zadaniach, które wykonuje. Zauważ, że w sekcji Zdefiniuj zmienne do połączenia z klastrem Amazon Redshift, nie musisz aktualizować wartości dla jdbc_iam_url
, temp_dir
, aws_role
ponieważ są one aktualizowane dla Ciebie przez AWS CloudFormation. AWS CloudFormation wykonał również kroki wymienione w Wymagania wstępne sekcji notebooka.
Możesz teraz uruchomić notatnik.
- Uruchom poszczególne komórki, zaznaczając je, a następnie wybierając Grać.
Możesz także użyć kombinacji klawiszy Shift + Enter or Shift+Return. Alternatywnie możesz uruchomić wszystkie komórki, wybierając Uruchom wszystkie komórki na run menu.
- Znajdź operację przesuwania predykatu wykonaną w klastrze Amazon Redshift przez integrację Amazon Redshift dla Apache Spark.
Możemy również zobaczyć tymczasowe dane przechowywane na Amazon S3 w zoptymalizowanym formacie Parquet. Dane wyjściowe można zobaczyć po uruchomieniu komórki w sekcji Pobierz ostatnie zapytanie wykonane na Amazon Redshift.
- Aby zweryfikować tabelę utworzoną przez zadanie z Amazon EMR na Amazon EC2, przejdź do konsoli Amazon Redshift i wybierz klaster
redshift-spark-redshift-cluster
na Pulpit nawigacyjny aprowizowanych klastrów strona. - W szczegółach klastra na Zapytanie o dane menu, wybierz Zapytanie w edytorze zapytań v2.
- Wybierz klaster w okienku nawigacji i połącz się z klastrem Amazon Redshift, gdy poprosi o uwierzytelnienie.
- Wybierz Tymczasowe poświadczenia.
- W razie zamówieenia projektu Baza danych, wchodzić
dev
. - W razie zamówieenia projektu nazwa użytkownika, wchodzić
redshiftmasteruser
. - Dodaj Zapisz.
- W okienku nawigacji rozwiń klaster
redshift-spark-redshift-cluster
, rozwiń bazę danych dev, rozwińtickit
i rozwiń Stoły aby wyświetlić listę wszystkich tabel w schemacietickit
.
Powinieneś znaleźć stół test_emr
.
- Wybierz (kliknij prawym przyciskiem myszy) tabelę
test_emr
, A następnie wybierz Wybierz tabelę wysłać zapytanie do tabeli. - Dodaj run aby uruchomić instrukcję SQL.
Skorzystaj z integracji Amazon Redshift z Apache Spark na Amazon EMR Serverless
Wersja Amazon EMR 6.9.0 i nowsze zapewnia integrację Amazon Redshift dla Apache Spark JAR (zarządzanych przez Amazon Redshift) i Amazon Redshift JDBC JAR lokalnie na Amazon EMR Serverless. Pliki te znajdują się pod /usr/share/aws/redshift/
informator. W poniższym przykładzie używamy skryptu Pythona udostępnionego w zasobniku S3 przez utworzony wcześniej stos CloudFormation.
- W danych wyjściowych stosu CloudFormation zanotuj wartość for
EMRServerlessExecutionScript
, czyli lokalizację skryptu Pythona w zasobniku S3. - Zwróć również uwagę na wartość dla
EMRServerlessJobExecutionRole
, która jest rolą IAM używaną podczas uruchamiania zadania Amazon EMR Serverless. - Uzyskaj dostęp do Amazon EMR Studio, wybierając lub kopiując łącze podane w danych wyjściowych stosu CloudFormation dla klucza
EMRStudioURL
. - Dodaj Konsultacje dla Bezserwerowe w okienku nawigacji.
Znajdziesz aplikację EMR stworzoną przez stos CloudFormation o nazwie emr-spark-redshift
.
- Wybierz nazwę aplikacji, aby przesłać ofertę pracy.
- Dodaj Prześlij ofertę pracy.
- Pod Szczegóły pracy, Dla Imię, wprowadź identyfikującą nazwę zadania.
- W razie zamówieenia projektu Rola środowiska wykonawczego, wybierz rolę IAM, którą zanotowałeś wcześniej w danych wyjściowych stosu CloudFormation.
- W razie zamówieenia projektu Lokalizacja skryptu, podaj ścieżkę do skryptu Pythona, który zanotowałeś wcześniej w danych wyjściowych stosu CloudFormation.
- Rozwiń sekcję Właściwości iskry i wybierz Edytuj w tekście
- Wprowadź następującą wartość w polu tekstowym, która zawiera ścieżkę do pliku
redshift-connector
, sterownik Amazon Redshift JDBC,spark-avro
JAR iminimal-json
Pliki JAR: - Dodaj Prześlij ofertę pracy.
- Poczekaj, aż zadanie zostanie ukończone, a status uruchomienia zostanie wyświetlony jako sukces.
- Przejdź do edytora zapytań Amazon Redshift, aby sprawdzić, czy tabela została pomyślnie utworzona.
- Sprawdź zapytania push-down uruchomione dla grupy zapytań Amazon Redshift
emr-serverless-redshift
. W bazie danych można uruchomić następującą instrukcję SQLdev
:
Możesz zobaczyć, że zapytanie pushdown i wyniki zwracane są przechowywane w formacie pliku Parquet na Amazon S3.
Użyj integracji Amazon Redshift z Apache Spark na AWS Glue
Począwszy od wersji AWS Glue 4.0 i nowszych, zadania Apache Spark łączące się z Amazon Redshift mogą korzystać z integracji Amazon Redshift dla Apache Spark i sterownika Amazon Redshift JDBC. Istniejące zadania AWS Glue, które już wykorzystują Amazon Redshift jako źródło lub cel, można zaktualizować do AWS Glue 4.0, aby skorzystać z tego nowego złącza. Szablon CloudFormation dostarczony z tym postem tworzy następujące zasoby kleju AWS:
- Połączenie AWS Glue dla Amazon Redshift – Połączenie do ustanowienia połączenia z AWS Glue do Amazon Redshift przy użyciu integracji Amazon Redshift dla Apache Spark
- Rola IAM dołączona do zadania AWS Glue – Rola IAM do zarządzania uprawnieniami do uruchamiania zadania AWS Glue
- AWS Klej zadanie – Skrypt dla zadania AWS Glue wykonującego transformacje i agregacje z wykorzystaniem integracji Amazon Redshift dla Apache Spark
Poniższy przykład wykorzystuje połączenie AWS Glue dołączone do zadania AWS Glue z PySpark i obejmuje następujące kroki:
- Na konsoli AWS Glue wybierz połączenia w okienku nawigacji.
- Pod połączenia, wybierz połączenie AWS Glue dla Amazon Redshift utworzone przez szablon CloudFormation.
- Sprawdź szczegóły połączenia.
Możesz teraz ponownie użyć tego połączenia w ramach zadania lub w wielu zadaniach.
- Na Złącza wybierz zadanie AWS Glue utworzone przez stos CloudFormation pod Twoje pracelub uzyskaj dostęp do zadania AWS Glue, korzystając z adresu URL podanego dla klucza
GlueJob
w danych wyjściowych stosu CloudFormation. - Uzyskaj dostęp i zweryfikuj skrypt zadania AWS Glue.
- Na Szczegóły pracy karta, upewnij się, że Wersja kleju jest ustawione na Klej 4.0.
Dzięki temu zadanie korzysta z najnowszych redshift-spark
złącze.
- Rozszerzać Zaawansowane właściwości oraz połączenia sprawdź, czy połączenie utworzone przez stos CloudFormation jest dołączone.
- Sprawdź parametry zadania dodane do zadania AWS Glue. Te wartości są również dostępne w danych wyjściowych dla stosu CloudFormation.
- Dodaj Zapisz , a następnie run.
Stan uruchomionego zadania można wyświetlić na stronie run patka.
- Po pomyślnym zakończeniu zadania możesz zweryfikować dane wyjściowe tabeli test-glue utworzonej przez zadanie AWS Glue.
- Sprawdzamy zapytania pushdown uruchamiane dla grupy zapytań Amazon Redshift
glue-redshift
. W bazie danych można uruchomić następującą instrukcję SQLdev
:
Najlepsze praktyki
Pamiętaj o następujących najlepszych praktykach:
- Rozważ użycie integracji Amazon Redshift dla Apache Spark z Amazon EMR zamiast korzystania z
redshift-spark
Connector (wersja społecznościowa) dla nowych zadań Apache Spark. - Jeśli masz istniejące zadania Apache Spark korzystające z
redshift-spark
(wersja społecznościowa), rozważ ich aktualizację, aby korzystały z integracji Amazon Redshift dla Apache Spark - Integracja Amazon Redshift dla Apache Spark automatycznie stosuje przesuwanie predykatów i zapytań w celu optymalizacji pod kątem wydajności. Zalecamy korzystanie z obsługiwanych funkcji (
autopushdown
) w zapytaniu. Integracja Amazon Redshift dla Apache Spark zamieni tę funkcję w zapytanie SQL i uruchomi zapytanie w Amazon Redshift. Ta optymalizacja powoduje pobranie wymaganych danych, dzięki czemu Apache Spark może przetwarzać mniej danych i mieć lepszą wydajność.- Rozważ użycie agregujących funkcji przesuwania w dół, takich jak
avg
,count
,max
,min
,sum
do pobierania przefiltrowanych danych do przetwarzania danych. - Rozważ użycie boolowskich operatorów przesuwania w dół, takich jak
in
,isnull
,isnotnull
,contains
,endswith
,startswith
do pobierania przefiltrowanych danych do przetwarzania danych. - Rozważ użycie logicznych operatorów przesuwania w dół, takich jak
and
,or
,not
(lub!
), aby pobrać przefiltrowane dane do przetwarzania danych.
- Rozważ użycie agregujących funkcji przesuwania w dół, takich jak
- Zaleca się przekazanie roli IAM za pomocą parametru
aws_iam_role
do uwierzytelniania Amazon Redshift z aplikacji Apache Spark na Amazon EMR lub AWS Glue. Rola IAM powinna mieć niezbędne uprawnienia do pobierania tymczasowych poświadczeń IAM w celu uwierzytelnienia w Amazon Redshift, jak pokazano w sekcji „Przykłady integracji Amazon Redshift dla Apache Spark w aplikacji Apache Spark” na tym blogu. - Dzięki tej funkcji nie musisz przechowywać swojej nazwy użytkownika i hasła Amazon Redshift w menedżerze tajemnic i bazie danych Amazon Redshift.
- Amazon Redshift używa instrukcji UNLOAD SQL do przechowywania tych tymczasowych danych w Amazon S3. Aplikacja Apache Spark pobiera wyniki z katalogu tymczasowego (przechowywanego w formacie pliku Parquet). Ten katalog tymczasowy w usłudze Amazon S3 nie jest czyszczony automatycznie, dlatego może generować dodatkowe koszty. Zalecamy korzystanie Zasady cyklu życia Amazon S3 aby zdefiniować reguły przechowywania dla zasobnika S3.
- Zaleca się włączenie Rejestrowanie audytu Amazon Redshift logowanie informacji o połączeniach i aktywnościach użytkowników w Twojej bazie danych.
- Zaleca się włączenie Szyfrowanie spoczynkowe Amazon Redshift do szyfrowania Twoich danych, gdy Amazon Redshift zapisuje je w swoich centrach danych i odszyfrowywania ich dla Ciebie, gdy uzyskujesz do nich dostęp.
- Zaleca się aktualizację do AWS Glue v4.0 i nowszych, aby korzystać z integracji Amazon Redshift dla Apache Spark, która jest dostępna od razu. Aktualizacja do tej wersji AWS Glue automatycznie skorzysta z tej funkcji.
- Zaleca się uaktualnienie do wersji Amazon EMR 6.9.0 lub nowszej, aby korzystać z integracji Amazon Redshift dla Apache Spark. Nie musisz jawnie zarządzać żadnymi sterownikami ani plikami JAR.
- Rozważ użycie notebooków Amazon EMR Studio do interakcji z danymi Amazon Redshift w aplikacji Apache Spark.
- Rozważ użycie AWS Glue Studio do tworzenia zadań Apache Spark przy użyciu interfejsu wizualnego. Możesz także przełączyć się na pisanie kodu Apache Spark w Scali lub PySpark w AWS Glue Studio.
Sprzątać
Wykonaj następujące kroki, aby wyczyścić zasoby, które są tworzone jako część szablonu CloudFormation, aby upewnić się, że nie zostaniesz obciążony opłatami za zasoby, jeśli nie będziesz ich już używać:
- Zatrzymaj aplikację Amazon EMR Serverless:
- Uzyskaj dostęp do Amazon EMR Studio, wybierając lub kopiując łącze podane w danych wyjściowych stosu CloudFormation dla klucza
EMRStudioURL
. - Dodaj Konsultacje dla Bezserwerowe w okienku nawigacji.
- Uzyskaj dostęp do Amazon EMR Studio, wybierając lub kopiując łącze podane w danych wyjściowych stosu CloudFormation dla klucza
Znajdziesz aplikację EMR stworzoną przez stos CloudFormation o nazwie emr-spark-redshift
.
-
- Jeśli stan aplikacji to Zatrzymana, możesz przejść do kolejnych kroków. Jeśli jednak status aplikacji to Uruchomiona, wybierz nazwę aplikacji, a następnie wybierz Zatrzymaj aplikację i Zatrzymaj aplikację ponownie, aby potwierdzić.
- Usuń obszar roboczy Amazon EMR Studio:
- Uzyskaj dostęp do Amazon EMR Studio, wybierając lub kopiując łącze podane w danych wyjściowych stosu CloudFormation dla klucza
EMRStudioURL
. - Dodaj Przestrzenie robocze w okienku nawigacji.
- Wybierz utworzony obszar roboczy i wybierz Usuń, A następnie wybierz Usuń ponownie, aby potwierdzić.
- Uzyskaj dostęp do Amazon EMR Studio, wybierając lub kopiując łącze podane w danych wyjściowych stosu CloudFormation dla klucza
- Usuń stos CloudFormation:
-
- W konsoli AWS CloudFormation przejdź do utworzonego wcześniej stosu.
- Wybierz nazwę stosu, a następnie wybierz Usuń aby usunąć stos i usunąć zasoby utworzone w ramach tego postu.
- Na ekranie potwierdzenia wybierz Usuń stos.
Wnioski
W tym poście wyjaśniliśmy, w jaki sposób można wykorzystać integrację Amazon Redshift dla Apache Spark do tworzenia i wdrażania aplikacji z Amazon EMR na Amazon EC2, Amazon EMR Serverless i AWS Glue, aby automatycznie stosować predykat i przesyłanie zapytań w celu optymalizacji wydajności zapytań dla danych w Amazon Redshift. Zdecydowanie zaleca się korzystanie z integracji Amazon Redshift dla Apache Spark w celu bezproblemowego i bezpiecznego połączenia z Amazon Redshift z Amazon EMR lub AWS Glue.
Oto, co niektórzy z naszych klientów mają do powiedzenia na temat integracji Amazon Redshift dla Apache Spark:
„Umożliwiamy naszym inżynierom budowanie potoków danych i aplikacji za pomocą Apache Spark przy użyciu Pythona i Scali. Chcieliśmy dostosować rozwiązanie, które uprościłoby operacje i dostarczało naszym klientom szybsze i wydajniejsze rozwiązania, i właśnie to otrzymaliśmy dzięki nowej integracji Amazon Redshift dla Apache Spark”.
—Huron Consulting
„GE Aerospace korzysta z narzędzi analitycznych AWS i Amazon Redshift, aby zapewnić krytyczne informacje biznesowe, które wpływają na ważne decyzje biznesowe. Dzięki obsłudze automatycznego kopiowania z Amazon S3 możemy tworzyć prostsze potoki danych w celu przenoszenia danych z Amazon S3 do Amazon Redshift. Przyspiesza to dostęp naszych zespołów ds. danych do uzyskiwania dostępu do danych i dostarczania spostrzeżeń użytkownikom końcowym. Spędzamy więcej czasu na dodawaniu wartości poprzez dane, a mniej na integracjach”.
— GE Aerospace
„Koncentrujemy się na zapewnieniu samoobsługowego dostępu do danych wszystkim naszym użytkownikom w Goldman Sachs. Dzięki Legend, naszej platformie open source do zarządzania i zarządzania danymi, umożliwiamy użytkownikom opracowywanie aplikacji zorientowanych na dane i uzyskiwanie spostrzeżeń opartych na danych podczas współpracy w całej branży usług finansowych. Dzięki integracji Amazon Redshift dla Apache Spark, nasz zespół ds. platformy danych będzie mógł uzyskać dostęp do danych Amazon Redshift przy minimalnej liczbie ręcznych czynności, co pozwoli na ETL bez kodu, co zwiększy nasze możliwości, aby ułatwić inżynierom skupienie się na doskonaleniu przepływu pracy, ponieważ gromadzą pełne i aktualne informacje. Spodziewamy się poprawy wydajności aplikacji i poprawy bezpieczeństwa, ponieważ nasi użytkownicy mogą teraz łatwo uzyskać dostęp do najnowszych danych w Amazon Redshift”.
-Goldman Sachs
O autorach
Gagana Brahmiego jest starszym architektem rozwiązań specjalistycznych zajmującym się analizą dużych zbiorów danych i platformą AI/ML w Amazon Web Services. Gagan ma ponad 18 lat doświadczenia w technologiach informatycznych. Pomaga klientom w projektowaniu i budowaniu wysoce skalowalnych, wydajnych i bezpiecznych rozwiązań opartych na chmurze w AWS. W wolnym czasie spędza czas z rodziną i odkrywa nowe miejsca.
Vivek Gautam jest Data Architectem ze specjalizacją w data lake w AWS Professional Services. Współpracuje z klientami korporacyjnymi budującymi produkty danych, platformy analityczne i rozwiązania na AWS. Kiedy nie buduje i nie projektuje jezior danych, Vivek jest entuzjastą jedzenia, który lubi odkrywać nowe miejsca podróży i chodzić na wycieczki.
Naresz Gautam jest liderem Data Analytics i AI/ML w AWS z 20-letnim doświadczeniem, który lubi pomagać klientom w projektowaniu wysoce dostępnych, wydajnych i opłacalnych rozwiązań do analizy danych i AI/ML, aby umożliwić klientom podejmowanie decyzji w oparciu o dane . W wolnym czasie lubi medytować i gotować.
Piękne Sharifi jest inżynierem ds. rozwoju oprogramowania w zespole sterowników Amazon Redshift, gdzie kieruje rozwojem integracji Amazon Redshift ze złączem Apache Spark. Ma ponad 20-letnie doświadczenie w budowaniu platform opartych na danych w wielu branżach. W wolnym czasie lubi spędzać czas z rodziną i surfować.
- Dystrybucja treści i PR oparta na SEO. Uzyskaj wzmocnienie już dziś.
- Platoblockchain. Web3 Inteligencja Metaverse. Wzmocniona wiedza. Dostęp tutaj.
- Wybijanie przyszłości w Adryenn Ashley. Dostęp tutaj.
- Źródło: https://aws.amazon.com/blogs/big-data/simplify-and-speed-up-apache-spark-applications-on-amazon-redshift-data-with-amazon-redshift-integration-for-apache-spark/
- :ma
- :Jest
- :nie
- $W GÓRĘ
- 1
- 10
- 100
- 107
- 11
- 20
- 20 roku
- 7
- 8
- 9
- a
- zdolność
- Zdolny
- O nas
- powyżej
- przyspiesza
- dostęp
- Dostęp do danych
- Dostęp
- uznać
- w poprzek
- Działania
- zajęcia
- w dodatku
- dodatek
- Dodatkowy
- administracyjny
- Korzyść
- Lotnictwo
- przed
- AI / ML
- Wszystkie kategorie
- Pozwalać
- pozwala
- już
- również
- Amazonka
- Amazon EC2
- Amazon EMR
- Amazon Web Services
- an
- analiza
- analityka
- w czasie rzeczywistym sprawiają,
- i
- każdy
- Apache
- Apache Spark
- Zastosowanie
- aplikacje
- Aplikuj
- właściwy
- SĄ
- AS
- At
- Audyt
- uwierzytelniać
- Uwierzytelnianie
- automatycznie
- dostępny
- AWS
- Tworzenie chmury AWS
- Klej AWS
- Usługi profesjonalne AWS
- z powrotem
- BE
- bo
- stają się
- rozpocząć
- jest
- BEST
- Najlepsze praktyki
- Ulepsz Swój
- Duży
- Big Data
- Blog
- Dolny
- Pudełko
- budować
- budowniczy
- Budowanie
- wybudowany
- biznes
- wpływ na biznes
- by
- wezwanie
- Kampanie
- CAN
- możliwości
- walizka
- Etui
- Komórki
- Centra
- wyzwanie
- ZOBACZ
- Dodaj
- Wybierając
- klasa
- klientów
- Grupa
- kod
- współpracować
- zbierać
- COM
- połączenie
- wspólny
- społeczność
- sukcesy firma
- kompletny
- Ukończył
- kompromis
- obliczać
- komputer
- Potwierdzać
- potwierdzenie
- Skontaktuj się
- Podłączanie
- połączenie
- połączenia
- Rozważać
- Konsola
- kontekst
- kontrola
- gotowanie
- biurowy
- Koszty:
- opłacalne
- mógłby
- Stwórz
- stworzony
- tworzy
- tworzenie
- Listy uwierzytelniające
- krytyczny
- klient
- Klientów
- tablica rozdzielcza
- dane
- analiza danych
- Analityka danych
- centra danych
- Jezioro danych
- zarządzanie danymi
- Platforma danych
- analiza danych
- przechowywanie danych
- hurtownia danych
- sterowane danymi
- Baza danych
- Data
- Podejmowanie decyzji
- Decyzje
- Spadkowy
- Odszyfruj
- dostarczyć
- dostarczona
- rozwijać
- projektowanie
- Cele podróży
- detale
- dev
- rozwijać
- deweloperzy
- oprogramowania
- różne
- dyskutować
- Wyświetlacz
- dystrybuowane
- nie
- na dół
- pobieranie
- napęd
- kierowca
- sterowniki
- Spadek
- dynamicznie
- każdy
- Wcześniej
- łatwiej
- z łatwością
- redaktor
- efekt
- wydajny
- skutecznie
- bądź
- upoważniać
- umożliwiać
- Umożliwia
- inżynier
- Inżynieria
- Inżynierowie
- Poprawia
- zapewnić
- zapewnia
- Wchodzę
- Enterprise
- klienci korporacyjni
- entuzjasta
- Środowisko
- zapewniają
- Eter (ETH)
- przykład
- przykłady
- Przede wszystkim system został opracowany
- Rozszerzać
- oczekiwać
- doświadczenie
- wyjaśnione
- odkryj
- wyciąg
- członków Twojej rodziny
- szybciej
- Cecha
- filet
- Akta
- W końcu
- budżetowy
- usługi finansowe
- Znajdź
- w porządku
- oscylować
- Skupiać
- koncentruje
- następujący
- następujący sposób
- jedzenie
- W razie zamówieenia projektu
- format
- FRAME
- Framework
- Darmowy
- od
- funkcjonować
- Funkcje
- Wzrost
- Generować
- wygenerowane
- otrzymać
- GitHub
- Go
- Goldman
- Goldman Sachs
- zarządzanie
- Zarządzanie
- Have
- he
- pomoc
- pomoc
- pomaga
- wysoka wydajność
- wysoko
- Piesze wędrówki
- W jaki sposób
- How To
- Jednak
- HTML
- http
- HTTPS
- IAC
- IAM
- zidentyfikować
- tożsamość
- Rezultat
- importować
- ważny
- podnieść
- ulepszony
- poprawa
- poprawia
- in
- obejmuje
- Zwiększać
- indywidualny
- przemysłowa
- przemysł
- Informacja
- technologia informacyjna
- poinformowany
- Infrastruktura
- zainicjować
- spostrzeżenia
- przykład
- zamiast
- integracja
- integracje
- interakcji
- interaktywne
- Interfejs
- najnowszych
- inwentarz
- dane inwentaryzacyjne
- IT
- JEGO
- Java
- Praca
- Oferty pracy
- przystąpić
- Notebook Jupyter
- Klawisz
- Wiedzieć
- jezioro
- Języki
- Nazwisko
- firmy
- uruchomić
- wodowanie
- lider
- Przywództwo
- Wyprowadzenia
- nauka
- pozwala
- wifecycwe
- lubić
- LIMIT
- Linia
- LINK
- Lista
- załadować
- miejscowy
- lokalnie
- usytuowany
- lokalizacja
- logiczny
- dłużej
- Popatrz
- niski
- maszyna
- uczenie maszynowe
- zrobiony
- utrzymać
- robić
- zarządzanie
- zarządzane
- i konserwacjami
- kierownik
- podręcznik
- rynek
- rynki
- Może..
- Medytacja
- wzmiankowany
- Menu
- może
- nic
- minimalny
- minuty
- ML
- jeszcze
- ruch
- wielokrotność
- Nazwa
- Nawigacja
- Nawigacja
- niezbędny
- Potrzebować
- potrzebne
- Nowości
- Następny
- notatnik
- laptopy
- zauważyć
- już dziś
- of
- urzędnik
- on
- tylko
- koncepcja
- open source
- działanie
- operacje
- operatorzy
- optymalizacja
- Optymalizacja
- zoptymalizowane
- Opcje
- or
- zamówienie
- Zlecenia
- ludzkiej,
- wydajność
- koniec
- ogólny
- strona
- chleb
- parametr
- parametry
- część
- przechodzić
- Hasło
- ścieżka
- doskonalenie
- wykonać
- jest gwarancją najlepszej jakości, które mogą dostarczyć Ci Twoje monitory,
- wykonywania
- wykonuje
- uprawnienia
- Miejsca
- krok po kroku
- Platforma
- Platformy
- plato
- Analiza danych Platona
- PlatoDane
- punkt
- polityka
- pop-up
- Popularny
- Post
- praktyki
- Przygotować
- warunki wstępne
- poprzedni
- pierwotny
- wygląda tak
- przetwarzanie
- Produkt
- Produkcja
- Produkty
- profesjonalny
- promocja
- Promocje
- zapewniać
- pod warunkiem,
- zapewnia
- że
- cel
- Naciskać
- Python
- zapytania
- przypadkowy
- Czytaj
- polecić
- Zalecana
- zwolnić
- usunąć
- obsługi produkcji rolnej, która zastąpiła
- raport
- zażądać
- wywołań
- wymagany
- Zasób
- Zasoby
- Efekt
- retencja
- powrót
- ponownie
- dochód
- Kliknij prawym przyciskiem myszy
- Rola
- role
- Trasa
- reguły
- run
- bieganie
- Sachs
- sagemaker
- sole
- Przykładowy zbiór danych
- Zapisz
- Scala
- skalowalny
- Ekran
- bezszwowy
- płynnie
- Sekcja
- działy
- bezpieczne
- bezpieczeństwo
- Segmenty
- wybierając
- Samoobsługa
- senior
- Bezserwerowe
- Usługi
- Sesja
- zestaw
- ustawienie
- kilka
- powinien
- pokazać
- pokazane
- Targi
- Podobnie
- Prosty
- uproszczony
- upraszczać
- So
- Tworzenie
- rozwoju oprogramowania
- rozwiązanie
- Rozwiązania
- kilka
- Źródło
- Iskra
- specjalista
- prędkość
- wydać
- Spędzanie
- SQL
- stos
- inscenizacja
- interesariusze
- początek
- rozpoczęty
- Zestawienie sprzedaży
- Rynek
- Cel
- zatrzymany
- przechowywanie
- sklep
- przechowywany
- sznur
- zbudowany
- studio
- Zatwierdź
- podsieci
- Z powodzeniem
- taki
- wsparcie
- Utrzymany
- Przełącznik
- system
- stół
- dostosowane
- Brać
- trwa
- cel
- ukierunkowane
- zadania
- zespół
- Technologia
- szablon
- tymczasowy
- test
- że
- Połączenia
- Informacje
- ich
- Im
- w związku z tym
- Te
- to
- Przez
- czas
- czasy
- do
- Top
- śledzić
- transakcyjny
- transakcje
- Przekształcać
- przemiany
- przekształcony
- transformatorowy
- podróżować
- SKRĘCAĆ
- dla
- wyjątkowy
- Aktualizacja
- zaktualizowane
- uaktualnienie
- zmodernizowane
- URL
- posługiwać się
- przypadek użycia
- używany
- Użytkownik
- Użytkownicy
- wykorzystać
- Wykorzystując
- UPRAWOMOCNIĆ
- uprawomocnienie
- wartość
- Wartości
- różnorodność
- zweryfikować
- wersja
- przez
- Zobacz i wysłuchaj
- widoczność
- poszukiwany
- Magazyn
- była
- we
- sieć
- usługi internetowe
- DOBRZE
- Co
- który
- KIM
- będzie
- w
- w ciągu
- bez
- workflow
- pracujący
- działa
- napisać
- pisanie
- napisany
- jamla
- rok
- lat
- ty
- Twój
- zefirnet