I denna tid av big data söker organisationer över hela världen ständigt efter innovativa sätt att extrahera värde och insikter från sina enorma datamängder. Apache Spark erbjuder den skalbarhet och hastighet som krävs för att bearbeta stora mängder data effektivt.
Amazon EMR är den branschledande cloud big data-lösningen för petabyte-skala databearbetning, interaktiv analys och maskininlärning (ML) som använder ramverk med öppen källkod som Apache Spark, Apache-bikupanoch Presto. Amazon EMR är det bästa stället att köra Apache Spark. Du kan snabbt och enkelt skapa hanterade Spark-kluster från AWS Management Console, AWS-kommandoradsgränssnitt (AWS CLI), eller Amazon EMR API. Du kan också använda ytterligare Amazon EMR-funktioner, inklusive snabb Amazon enkel lagringstjänst (Amazon S3) anslutning med Amazon EMR File System (EMRFS), integration med Amazon EC2 Spot marknaden och AWS-lim Data Catalog och EMR Managed Scaling för att lägga till eller ta bort instanser från ditt kluster. Amazon EMR Studio är en integrerad utvecklingsmiljö (IDE) som gör det enkelt för datavetare och dataingenjörer att utveckla, visualisera och felsöka applikationer för datateknik och datavetenskap skrivna i R, Python, Scala och PySpark. EMR Studio tillhandahåller fullständigt hanterade Jupyter-anteckningsböcker och verktyg som Spark UI och YARN Timeline Service för att förenkla felsökning.
För att låsa upp potentialen som är gömd i datamagasinen är det viktigt att gå längre än traditionell analys. Gå in i generativ AI, en banbrytande teknologi som kombinerar ML med kreativitet för att generera människoliknande text, konst och till och med kod. Amazonas berggrund är det enklaste sättet att bygga och skala generativa AI-applikationer med grundmodeller (FM). Amazon Bedrock är en fullt hanterad tjänst som gör FM:er från Amazon och ledande AI-företag tillgängliga via ett API, så att du snabbt kan experimentera med en mängd olika FM:er på lekplatsen och använda ett enda API för slutledning oavsett vilka modeller du väljer, vilket ger du flexibiliteten att använda FM-apparater från olika leverantörer och hålla dig uppdaterad med de senaste modellversionerna med minimala kodändringar.
I det här inlägget utforskar vi hur du kan överladda din dataanalys med generativ AI med hjälp av Amazon EMR, Amazon Bedrock och pyspark-ai bibliotek. pyspark-ai-biblioteket är en engelsk SDK för Apache Spark. Den tar instruktioner på engelska och kompilerar dem till PySpark-objekt som DataFrames. Detta gör det enkelt att arbeta med Spark, vilket gör att du kan fokusera på att extrahera värde från din data.
Lösningsöversikt
Följande diagram illustrerar arkitekturen för att använda generativ AI med Amazon EMR och Amazon Bedrock.
EMR Studio är en webbaserad IDE för fullt hanterade Jupyter-datorer som körs på EMR-kluster. Vi interagerar med EMR Studio Workspaces anslutna till ett körande EMR-kluster och kör den anteckningsbok som tillhandahålls som en del av detta inlägg. Vi använder New York City Taxi data för att få insikter om olika taxiresor som användarna tar. Vi ställer frågorna på naturligt språk ovanpå data som laddas i Spark DataFrame. Pyspark-ai-biblioteket använder sedan Amazon Titan Text FM från Amazon Bedrock för att skapa en SQL-fråga baserad på frågan om naturligt språk. pyspark-ai-biblioteket tar SQL-frågan, kör den med Spark SQL och ger resultat tillbaka till användaren.
I den här lösningen kan du skapa och konfigurera de nödvändiga resurserna i ditt AWS-konto med en AWS molnformation mall. Mallen skapar AWS-lim databas och tabeller, S3-bucket, VPC och annat AWS identitets- och åtkomsthantering (IAM) resurser som används i lösningen.
Mallen är utformad för att demonstrera hur man använder EMR Studio med pyspark-ai-paketet och Amazon Bedrock, och är inte avsedd för produktionsanvändning utan modifiering. Dessutom använder mallen us-east-1
Region och kanske inte fungerar i andra regioner utan ändringar. Mallen skapar resurser som medför kostnader medan de används. Följ saneringsstegen i slutet av det här inlägget för att ta bort resurserna och undvika onödiga avgifter.
Förutsättningar
Innan du startar CloudFormation-stacken, se till att du har följande:
- Ett AWS-konto som ger åtkomst till AWS-tjänster
- En IAM-användare med en åtkomstnyckel och hemlig nyckel för att konfigurera AWS CLI och behörigheter att skapa en IAM-roll, IAM-policyer och stackar i AWS CloudFormation
- Titan Text G1 – Express-modellen är för närvarande i förhandsvisning, så du måste ha tillgång till förhandsgranskning för att använda den som en del av det här inlägget
Skapa resurser med AWS CloudFormation
CloudFormation skapar följande AWS-resurser:
- En VPC-stack med privata och offentliga undernät att använda med EMR Studio, rutttabeller och NAT-gateway.
- Ett EMR-kluster med Python 3.9 installerat. Vi använder en bootstrap-åtgärd för att installera Python 3.9 och andra relevanta paket som pyspark-ai och Amazon Bedrock-beroenden. (För mer information, se bootstrap-skript.)
- En S3-hink för EMR Studio Workspace och förvaring för bärbara datorer.
- IAM-roller och policyer för installation av EMR Studio, åtkomst till Amazon Bedrock och körande anteckningsböcker
Gör så här för att komma igång:
CloudFormation-stacken tar cirka 20–30 minuter att slutföra. Du kan övervaka dess framsteg på AWS CloudFormation-konsolen. När dess status läses CREATE_COMPLETE
, kommer ditt AWS-konto att ha de resurser som krävs för att implementera den här lösningen.
Skapa EMR Studio
Nu kan du skapa en EMR-studio och arbetsyta för att arbeta med anteckningsbokens kod. Slutför följande steg:
- Välj på EMR Studio-konsolen Skapa Studio.
- Ange Studions namn as
GenAI-EMR-Studio
och ge en beskrivning. - I Nätverk och säkerhet avsnitt, ange följande:
- För VPC, välj den VPC du skapade som en del av CloudFormation-stacken som du distribuerade. Få VPC-ID:t med CloudFormation-utgångarna för VPCID-nyckeln.
- För Undernät, välj alla fyra undernäten.
- För Säkerhet och åtkomst, Välj Anpassad säkerhetsgrupp.
- För Säkerhetsgrupp för kluster/slutpunktväljer
EMRSparkAI-Cluster-Endpoint-SG
. - För Arbetsplatssäkerhetsgruppväljer
EMRSparkAI-Workspace-SG
.
- I Studiotjänstroll avsnitt, ange följande:
- För Autentisering, Välj AWS Identity and Access Management (IAM).
- För AWS IAM tjänsterollväljer
EMRSparkAI-StudioServiceRole
.
- I Arbetsyta förvaring sektion, bläddra och välj S3-hinken för förvaring från och med
emr-sparkai-<account-id>
. - Välja Skapa Studio.
- När EMR Studio är skapad, välj länken under Studio Access URL för att komma åt studion.
- När du är i studion väljer du Skapa arbetsyta.
- Lägg till
emr-genai
som namn på arbetsytan och välj Skapa arbetsyta. - När arbetsytan har skapats väljer du dess namn för att starta arbetsytan (se till att du har inaktiverat popup-blockerare).
Big data-analys med Apache Spark med Amazon EMR och generativ AI
Nu när vi har slutfört den nödvändiga installationen kan vi börja utföra big data-analyser med Apache Spark med Amazon EMR och generativ AI.
Som ett första steg laddar vi en anteckningsbok som har den kod och exempel som krävs för att fungera med användningsfallet. Vi använder NY Taxi dataset, som innehåller information om taxiresor.
- Ladda ner anteckningsboken NYTaxi.ipynb och ladda upp den till din arbetsyta genom att välja uppladdningsikonen.
- När anteckningsboken har importerats öppnar du den och väljer
PySpark
som kärnan.
PySpark AI använder som standard OpenAIs ChatGPT4.0 som LLM-modell, men du kan också koppla in modeller från Amazon Bedrock, Amazon SageMaker JumpStart, och andra tredjepartsmodeller. För det här inlägget visar vi hur man integrerar Amazon Bedrock Titan-modellen för generering av SQL-frågor och kör den med Apache Spark i Amazon EMR.
- För att komma igång med anteckningsboken måste du associera arbetsytan till ett beräkningslager. För att göra det, välj Compute ikonen i navigeringsfönstret och välj EMR-klustret som skapats av CloudFormation-stacken.
- Konfigurera Python-parametrarna för att använda det uppdaterade Python 3.9-paketet med Amazon EMR:
- Importera nödvändiga bibliotek:
- Efter att biblioteken har importerats kan du definiera LLM-modellen från Amazon Bedrock. I det här fallet använder vi amazon.titan-text-express-v1. Du måste ange Region- och Amazon Bedrock-slutpunktsadressen baserat på din förhandsvisningsåtkomst för Titan Text G1 – Express-modellen.
- Anslut Spark AI till Amazon Bedrock LLM-modellen för generering av SQL-frågor baserat på frågor på naturligt språk:
Här har vi initialiserat Spark AI med verbose=False; du kan också ställa in verbose=True för att se mer detaljer.
Nu kan du läsa NYC Taxi-data i en Spark DataFrame och använda kraften hos generativ AI i Spark.
- Du kan till exempel fråga antalet poster i datamängden:
Vi får följande svar:
Spark AI använder internt Langkedja och SQL-kedja, som döljer komplexiteten för slutanvändare som arbetar med frågor i Spark.
Den bärbara datorn har några fler exempelscenarier för att utforska kraften i generativ AI med Apache Spark och Amazon EMR.
Städa upp
Töm innehållet i S3-hinken emr-sparkai-<account-id>
, ta bort EMR Studio Workspace som skapats som en del av det här inlägget och ta sedan bort CloudFormation-stacken som du distribuerade.
Slutsats
Det här inlägget visade hur du kan överladda din big data-analys med hjälp av Apache Spark med Amazon EMR och Amazon Bedrock. PySpark AI-paketet låter dig få meningsfulla insikter från dina data. Det hjälper till att minska utvecklings- och analystiden, minskar tiden för att skriva manuella frågor och låter dig fokusera på ditt affärsanvändningsfall.
Om författarna
Saurabh Bhutyani är en Principal Analytics Specialist Solutions Architect på AWS. Han brinner för ny teknik. Han började på AWS 2019 och arbetar med kunder för att tillhandahålla arkitektonisk vägledning för att köra generativa AI-användningsfall, skalbara analyslösningar och datanätarkitekturer med hjälp av AWS-tjänster som Amazon Bedrock, Amazon SageMaker, Amazon EMR, Amazon Athena, AWS Glue, AWS Lake Formation, och Amazon DataZone.
Hård Vardhan är en AWS Senior Solutions Architect, specialiserad på analys. Han har över 8 års erfarenhet av att arbeta inom området big data och datavetenskap. Han brinner för att hjälpa kunder att ta till sig bästa praxis och upptäcka insikter från deras data.
- SEO-drivet innehåll och PR-distribution. Bli förstärkt idag.
- PlatoData.Network Vertical Generative Ai. Styrka dig själv. Tillgång här.
- PlatoAiStream. Web3 Intelligence. Kunskap förstärkt. Tillgång här.
- Platoesg. Kol, CleanTech, Energi, Miljö, Sol, Avfallshantering. Tillgång här.
- PlatoHealth. Biotech och kliniska prövningar Intelligence. Tillgång här.
- Källa: https://aws.amazon.com/blogs/big-data/use-generative-ai-with-amazon-emr-amazon-bedrock-and-english-sdk-for-apache-spark-to-unlock-insights/
- : har
- :är
- :inte
- $UPP
- 1
- 10
- 100
- 107
- 11
- 20
- 200
- 2019
- 320
- 500
- 521
- 7
- 8
- 9
- 990
- a
- Om oss
- tillgång
- Behörighets förvaltning
- Konto
- bekräfta
- Handling
- lägga till
- Annat
- Dessutom
- anta
- AI
- ai användningsfall
- Alla
- tillåta
- tillåter
- också
- amason
- Amazonas Athena
- Amazon EMR
- Amazon SageMaker
- Amazon Web Services
- mängder
- an
- analys
- analytics
- och
- svara
- vilken som helst
- Apache
- Apache Spark
- api
- tillämpningar
- cirka
- arkitektoniska
- arkitektur
- ÄR
- Konst
- AS
- be
- Associate
- At
- tillgänglig
- undvika
- AWS
- AWS molnformation
- AWS-lim
- AWS Lake Formation
- tillbaka
- baserat
- BÄST
- bästa praxis
- Bortom
- Stor
- Stora data
- Bootstrap
- SLUTRESULTAT
- företag
- men
- Knappen
- by
- KAN
- Vid
- fall
- katalog
- kedja
- Förändringar
- avgifter
- Välja
- välja
- Stad
- cloud
- cloud big data
- kluster
- koda
- kombinerar
- Företag
- fullborda
- Avslutade
- Komplexiteten
- Compute
- anslutna
- Anslutningar
- Konsol
- ständigt
- innehåller
- innehåll
- Kostar
- skapa
- skapas
- skapar
- kreativitet
- För närvarande
- Kunder
- allra senaste
- datum
- Data Analytics
- databehandling
- datavetenskap
- Databas
- datauppsättningar
- Datum
- Standard
- definiera
- demonstrera
- beroenden
- utplacerade
- härleda
- beskrivning
- utformade
- detaljer
- utveckla
- Utveckling
- olika
- inaktiverad
- Upptäck
- do
- effektivt
- enkelt
- änden
- Slutpunkt
- Teknik
- Ingenjörer
- Engelska
- säkerställa
- ange
- in
- Miljö
- Era
- väsentlig
- Eter (ETH)
- Även
- exempel
- exempel
- erfarenhet
- experimentera
- utforska
- uttrycker
- extrahera
- SNABB
- Funktioner
- få
- fält
- Fil
- slutlig
- Förnamn
- Flexibilitet
- Fokus
- följer
- efter
- För
- bildning
- fundament
- fyra
- ramar
- från
- fullständigt
- g1
- garner
- nätbryggan
- generera
- generering
- generativ
- Generativ AI
- skaffa sig
- Ge
- Go
- vägleda
- Har
- he
- hjälpa
- hjälpa
- hjälper
- dold
- Dölja
- Hur ser din drömresa ut
- How To
- http
- HTTPS
- i
- IAM
- IKON
- ID
- Identitet
- identitets- och åtkomsthantering
- illustrerar
- genomföra
- importera
- in
- I andra
- Inklusive
- branschledande
- informationen
- innovativa
- ingång
- insikter
- installera
- instanser
- instruktioner
- integrera
- integrerade
- integrering
- avsedd
- interagera
- interaktiva
- invändigt
- in
- IT
- DESS
- fogade
- jpg
- Ha kvar
- Nyckel
- Vet
- sjö
- språk
- Large
- senaste
- lansera
- lager
- ledande
- inlärning
- bibliotek
- Bibliotek
- tycka om
- linje
- LINK
- läsa in
- Maskinen
- maskininlärning
- göra
- GÖR
- förvaltade
- ledning
- manuell
- marknad
- Maj..
- meningsfull
- maska
- minimum
- minuter
- ML
- modell
- modeller
- Övervaka
- mer
- mest
- namn
- Natural
- Naturligt språk
- Navigering
- nödvändigt för
- Behöver
- behövs
- nätverk
- Nya
- Ny teknik
- anteckningsbok
- bärbara datorer
- nu
- antal
- NY
- NYC
- objekt
- observationen
- of
- Erbjudanden
- on
- öppet
- öppen källkod
- or
- organisationer
- Övriga
- utgångar
- över
- Översikt
- paket
- paket
- panelen
- parametrar
- del
- brinner
- utför
- behörigheter
- Plats
- plato
- Platon Data Intelligence
- PlatonData
- lekplats
- kontakt
- Strategier
- pop-up
- Inlägg
- potentiell
- kraft
- praxis
- Förhandsvisning
- Principal
- privat
- process
- bearbetning
- Produktion
- Framsteg
- ge
- förutsatt
- leverantörer
- ger
- allmän
- Python
- sökfrågor
- fråga
- frågor
- snabbt
- R
- Läsa
- register
- minska
- reducerande
- hänvisa
- Oavsett
- region
- regioner
- relevanta
- ta bort
- Obligatorisk
- Resurser
- respons
- Resultat
- åkattraktioner
- Roll
- roller
- Rutt
- Körning
- rinnande
- kör
- sagemaker
- Skala
- skalbarhet
- skalbar
- Skala
- skalning
- scenarier
- Vetenskap
- vetenskapsmän
- sDK
- söka
- Secret
- säkerhet
- se
- välj
- senior
- service
- Tjänster
- in
- inställning
- show
- visade
- Enkelt
- förenkla
- enda
- So
- lösning
- Lösningar
- Källa
- Gnista
- specialist
- specialiserat
- fart
- SQL
- stapel
- Stacks
- starta
- igång
- Starta
- status
- Steg
- Steg
- förvaring
- okomplicerad
- studio
- subnät
- sådana
- Superladdning
- säker
- system
- bord
- tagen
- tar
- Tekniken
- Teknologi
- mall
- text
- den där
- Smakämnen
- deras
- Dem
- sedan
- de
- tredje part
- detta
- trodde
- Genom
- tid
- tidslinje
- titan
- till
- verktyg
- topp
- traditionell
- ui
- under
- låsa
- uppdaterad
- URL
- användning
- användningsfall
- Begagnade
- Användare
- användare
- användningar
- med hjälp av
- värde
- mängd
- olika
- Omfattande
- visualisera
- Sätt..
- sätt
- we
- webb
- webbservice
- Webb-baserad
- när
- som
- medan
- kommer
- med
- inom
- utan
- Arbete
- arbetssätt
- fungerar
- inom hela sverige
- skriva
- skriven
- år
- york
- dig
- Din
- zephyrnet