I denne æra med big data søger organisationer verden over konstant efter innovative måder at udvinde værdi og indsigt fra deres enorme datasæt. Apache Spark tilbyder den skalerbarhed og hastighed, der er nødvendig for at behandle store mængder data effektivt.
Amazon EMR er den brancheførende cloud big data-løsning til petabyte-skala databehandling, interaktiv analyse og maskinlæring (ML) ved hjælp af open source-rammeværker såsom Apache Spark, Apache Hiveog Presto. Amazon EMR er det bedste sted at køre Apache Spark. Du kan hurtigt og ubesværet oprette administrerede Spark-klynger fra AWS Management Console, AWS kommandolinjegrænseflade (AWS CLI) eller Amazon EMR API. Du kan også bruge yderligere Amazon EMR-funktioner, herunder hurtig Amazon Simple Storage Service (Amazon S3) tilslutning ved hjælp af Amazon EMR File System (EMRFS), integration med Amazon EC2 Spot markedet og AWS Lim Data Catalog og EMR Managed Scaling for at tilføje eller fjerne forekomster fra din klynge. Amazon EMR Studio er et integreret udviklingsmiljø (IDE), der gør det nemt for datavidenskabsfolk og dataingeniører at udvikle, visualisere og fejlsøge datateknik og datavidenskabsapplikationer skrevet i R, Python, Scala og PySpark. EMR Studio leverer fuldt administrerede Jupyter-notebooks og værktøjer som Spark UI og YARN Timeline Service for at forenkle fejlfinding.
For at låse op for det potentiale, der er gemt i datamagasinerne, er det vigtigt at gå ud over traditionelle analyser. Indtast generativ AI, en banebrydende teknologi, der kombinerer ML med kreativitet for at generere menneskelignende tekst, kunst og endda kode. Amazonas grundfjeld er den mest ligetil måde at bygge og skalere generative AI-applikationer med fundamentmodeller (FM'er). Amazon Bedrock er en fuldt administreret tjeneste, der gør FM'er fra Amazon og førende AI-virksomheder tilgængelige via en API, så du hurtigt kan eksperimentere med en række forskellige FM'er på legepladsen og bruge en enkelt API til slutninger uanset de modeller, du vælger, hvilket giver du fleksibiliteten til at bruge FM'er fra forskellige udbydere og holde dig ajour med de nyeste modelversioner med minimale kodeændringer.
I dette indlæg udforsker vi, hvordan du kan superlade din dataanalyse med generativ AI ved hjælp af Amazon EMR, Amazon Bedrock og pyspark-ai bibliotek. pyspark-ai-biblioteket er et engelsk SDK til Apache Spark. Det tager instruktioner på engelsk og kompilerer dem til PySpark-objekter som DataFrames. Dette gør det nemt at arbejde med Spark, så du kan fokusere på at udvinde værdi fra dine data.
Løsningsoversigt
Følgende diagram illustrerer arkitekturen for brug af generativ AI med Amazon EMR og Amazon Bedrock.
EMR Studio er en webbaseret IDE til fuldt administrerede Jupyter-notebooks, der kører på EMR-klynger. Vi interagerer med EMR Studio Workspaces, der er forbundet til en kørende EMR-klynge, og kører den notesbog, der leveres som en del af dette indlæg. Vi bruger New York City Taxa data for at få indsigt i forskellige taxature, som brugerne tager. Vi stiller spørgsmålene i naturligt sprog oven på de data, der er indlæst i Spark DataFrame. Pyspark-ai-biblioteket bruger derefter Amazon Titan Text FM fra Amazon Bedrock til at oprette en SQL-forespørgsel baseret på spørgsmålet om det naturlige sprog. pyspark-ai-biblioteket tager SQL-forespørgslen, kører den ved hjælp af Spark SQL og leverer resultater tilbage til brugeren.
I denne løsning kan du oprette og konfigurere de nødvendige ressourcer på din AWS-konto med en AWS CloudFormation skabelon. Skabelonen skaber AWS Lim database og tabeller, S3 bucket, VPC og andet AWS identitets- og adgangsstyring (IAM) ressourcer, der bruges i løsningen.
Skabelonen er designet til at demonstrere, hvordan man bruger EMR Studio med pyspark-ai-pakken og Amazon Bedrock, og er ikke beregnet til produktionsbrug uden ændringer. Derudover bruger skabelonen us-east-1
Region og må ikke arbejde i andre regioner uden ændringer. Skabelonen opretter ressourcer, der medfører omkostninger, mens de er i brug. Følg oprydningstrinnene i slutningen af dette indlæg for at slette ressourcerne og undgå unødvendige gebyrer.
Forudsætninger
Før du starter CloudFormation-stakken, skal du sikre dig, at du har følgende:
- En AWS-konto, der giver adgang til AWS-tjenester
- En IAM-bruger med en adgangsnøgle og hemmelig nøgle til at konfigurere AWS CLI og tilladelser til at oprette en IAM-rolle, IAM-politikker og stakke i AWS CloudFormation
- Titan Text G1 – Express-modellen er i øjeblikket i preview, så du skal have preview-adgang for at bruge den som en del af dette indlæg
Opret ressourcer med AWS CloudFormation
CloudFormation opretter følgende AWS-ressourcer:
- En VPC-stak med private og offentlige undernet til brug med EMR Studio, rutetabeller og NAT-gateway.
- En EMR-klynge med Python 3.9 installeret. Vi bruger en bootstrap-handling til at installere Python 3.9 og andre relevante pakker som pyspark-ai og Amazon Bedrock-afhængigheder. (For mere information, se bootstrap script.)
- En S3-spand til EMR Studio Workspace og notebook-opbevaring.
- IAM-roller og -politikker for EMR Studio-opsætning, Amazon Bedrock-adgang og kørende notebooks
For at komme i gang skal du udføre følgende trin:
CloudFormation-stakken tager cirka 20-30 minutter at fuldføre. Du kan overvåge dens fremskridt på AWS CloudFormation-konsollen. Når dens status lyder CREATE_COMPLETE
, vil din AWS-konto have de nødvendige ressourcer til at implementere denne løsning.
Opret EMR Studio
Nu kan du oprette et EMR-studie og -arbejdsområde til at arbejde med notebook-koden. Udfør følgende trin:
- På EMR Studio-konsollen skal du vælge Opret Studio.
- Indtast Studio navn as
GenAI-EMR-Studio
og giv en beskrivelse. - I Netværk og sikkerhed afsnit, angiv følgende:
- Til VPC, skal du vælge den VPC, du oprettede som en del af CloudFormation-stakken, som du implementerede. Få VPC-id'et ved hjælp af CloudFormation-output for VPCID-nøglen.
- Til Undernet, vælg alle fire undernet.
- Til Sikkerhed og adgang, Vælg Brugerdefineret sikkerhedsgruppe.
- Til Klynge/endepunkt sikkerhedsgruppe, vælg
EMRSparkAI-Cluster-Endpoint-SG
. - Til Arbejdspladssikkerhedsgruppe, vælg
EMRSparkAI-Workspace-SG
.
- I Studio service rolle afsnit, angiv følgende:
- Til Godkendelse, Vælg AWS Identity and Access Management (IAM).
- Til AWS IAM servicerolle, vælg
EMRSparkAI-StudioServiceRole
.
- I Opbevaring af arbejdsrum sektion, gennemse og vælg S3-spanden til opbevaring startende med
emr-sparkai-<account-id>
. - Vælg Opret Studio.
- Når EMR Studio er oprettet, skal du vælge linket under Studio Access URL for at få adgang til studiet.
- Når du er i studiet, skal du vælge Skab arbejdsrum.
- Tilføj
emr-genai
som navn for arbejdsområdet og vælg Skab arbejdsrum. - Når arbejdsområdet er oprettet, skal du vælge dets navn for at starte arbejdsområdet (sørg for, at du har deaktiveret pop op-blokkere).
Big data-analyse ved hjælp af Apache Spark med Amazon EMR og generativ AI
Nu hvor vi har fuldført den påkrævede opsætning, kan vi begynde at udføre big data-analyse ved hjælp af Apache Spark med Amazon EMR og generativ AI.
Som et første trin indlæser vi en notesbog, der har den nødvendige kode og eksempler til at arbejde med use casen. Vi bruger NY Taxi-datasæt, som indeholder detaljer om taxakørsel.
- Download notebook-filen NYTaxi.ipynb og upload det til dit Workspace ved at vælge upload-ikonet.
- Når notesbogen er importeret, skal du åbne notesbogen og vælge
PySpark
som kernen.
PySpark AI bruger som standard OpenAIs ChatGPT4.0 som LLM-modellen, men du kan også tilslutte modeller fra Amazon Bedrock, Amazon SageMaker JumpStart, og andre tredjepartsmodeller. Til dette indlæg viser vi, hvordan man integrerer Amazon Bedrock Titan-modellen til SQL-forespørgselsgenerering og kører den med Apache Spark i Amazon EMR.
- For at komme i gang med notesbogen skal du knytte arbejdsområdet til et computerlag. For at gøre det skal du vælge Compute ikonet i navigationsruden, og vælg den EMR-klynge, der er oprettet af CloudFormation-stakken.
- Konfigurer Python-parametrene til at bruge den opdaterede Python 3.9-pakke med Amazon EMR:
- Importer de nødvendige biblioteker:
- Efter at bibliotekerne er importeret, kan du definere LLM-modellen fra Amazon Bedrock. I dette tilfælde bruger vi amazon.titan-text-express-v1. Du skal indtaste Region og Amazon Bedrock-endepunkts-URL baseret på din forhåndsvisningsadgang for Titan Text G1 – Express-modellen.
- Forbind Spark AI til Amazon Bedrock LLM-modellen til generering af SQL-forespørgsler baseret på spørgsmål i naturligt sprog:
Her har vi initialiseret Spark AI med verbose=False; du kan også indstille verbose=True for at se flere detaljer.
Nu kan du læse NYC Taxi-dataene i en Spark DataFrame og bruge kraften i generativ AI i Spark.
- For eksempel kan du spørge om antallet af poster i datasættet:
Vi får følgende svar:
Spark AI bruger internt Langkæde og SQL-kæde, som skjuler kompleksiteten for slutbrugere, der arbejder med forespørgsler i Spark.
Notebook'en har et par flere eksempler på scenarier til at udforske kraften i generativ AI med Apache Spark og Amazon EMR.
Ryd op
Tøm indholdet af S3-spanden emr-sparkai-<account-id>
, slet EMR Studio-arbejdsområdet, der er oprettet som en del af dette indlæg, og slet derefter CloudFormation-stakken, som du implementerede.
Konklusion
Dette indlæg viste, hvordan du kan superlade din big data-analyse ved hjælp af Apache Spark med Amazon EMR og Amazon Bedrock. PySpark AI-pakken giver dig mulighed for at udlede meningsfuld indsigt fra dine data. Det hjælper med at reducere udviklings- og analysetid, reducerer tiden til at skrive manuelle forespørgsler og giver dig mulighed for at fokusere på din forretningsanvendelse.
Om forfatterne
Saurabh Bhutyani er Principal Analytics Specialist Solutions Architect hos AWS. Han brænder for nye teknologier. Han kom til AWS i 2019 og arbejder med kunder for at give arkitektonisk vejledning til at køre generative AI use cases, skalerbare analyseløsninger og data mesh-arkitekturer ved hjælp af AWS-tjenester som Amazon Bedrock, Amazon SageMaker, Amazon EMR, Amazon Athena, AWS Glue, AWS Lake Formation, og Amazon DataZone.
Hård Vardhan er en AWS Senior Solutions Architect med speciale i analytics. Han har over 8 års erfaring med at arbejde inden for big data og data science. Han brænder for at hjælpe kunder med at vedtage bedste praksis og opdage indsigt fra deres data.
- SEO Powered Content & PR Distribution. Bliv forstærket i dag.
- PlatoData.Network Vertical Generative Ai. Styrk dig selv. Adgang her.
- PlatoAiStream. Web3 intelligens. Viden forstærket. Adgang her.
- PlatoESG. Kulstof, CleanTech, Energi, Miljø, Solenergi, Affaldshåndtering. Adgang her.
- PlatoHealth. Bioteknologiske og kliniske forsøgs intelligens. Adgang her.
- Kilde: 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
- :er
- :ikke
- $OP
- 1
- 10
- 100
- 107
- 11
- 20
- 200
- 2019
- 320
- 500
- 521
- 7
- 8
- 9
- 990
- a
- Om
- adgang
- adgangsstyring
- Konto
- anerkende
- Handling
- tilføje
- Yderligere
- Derudover
- vedtage
- AI
- ai use cases
- Alle
- tillade
- tillader
- også
- Amazon
- Amazonas Athena
- Amazon EMR
- Amazon SageMaker
- Amazon Web Services
- beløb
- an
- analyse
- analytics
- ,
- besvare
- enhver
- Apache
- Apache Spark
- api
- applikationer
- cirka
- arkitektonisk
- arkitektur
- ER
- Kunst
- AS
- spørg
- Associate
- At
- til rådighed
- undgå
- AWS
- AWS CloudFormation
- AWS Lim
- AWS søformation
- tilbage
- baseret
- BEDSTE
- bedste praksis
- Beyond
- Big
- Big data
- Bootstrap
- bygge
- virksomhed
- men
- .
- by
- CAN
- tilfælde
- tilfælde
- katalog
- kæde
- Ændringer
- afgifter
- Vælg
- vælge
- By
- Cloud
- cloud big data
- Cluster
- kode
- kombinerer
- Virksomheder
- fuldføre
- Afsluttet
- kompleksitet
- Compute
- tilsluttet
- Connectivity
- Konsol
- konstant
- indeholder
- indhold
- Omkostninger
- skabe
- oprettet
- skaber
- kreativitet
- For øjeblikket
- Kunder
- banebrydende
- data
- Dataanalyse
- databehandling
- datalogi
- Database
- datasæt
- Dato
- Standard
- definere
- demonstrere
- afhængigheder
- indsat
- udlede
- beskrivelse
- konstrueret
- detaljer
- udvikle
- Udvikling
- forskellige
- deaktiveret
- opdage
- do
- effektivt
- ubesværet
- ende
- Endpoint
- Engineering
- Ingeniører
- Engelsk
- sikre
- Indtast
- indtastning
- Miljø
- Era
- væsentlig
- Ether (ETH)
- Endog
- eksempel
- eksempler
- erfaring
- eksperiment
- udforske
- Express
- ekstrakt
- FAST
- Funktionalitet
- få
- felt
- File (Felt)
- endelige
- Fornavn
- Fleksibilitet
- Fokus
- følger
- efter
- Til
- formation
- Foundation
- fire
- rammer
- fra
- fuldt ud
- g1
- Garner
- gateway
- generere
- generation
- generative
- Generativ AI
- få
- Give
- Go
- vejledning
- Have
- he
- hjælpe
- hjælpe
- hjælper
- Skjult
- Skjule
- Hvordan
- How To
- http
- HTTPS
- i
- IAM
- ICON
- ID
- Identity
- identitets- og adgangsstyring
- illustrerer
- gennemføre
- importere
- in
- I andre
- Herunder
- brancheførende
- oplysninger
- innovativ
- indgang
- indsigt
- installere
- forekomster
- anvisninger
- integrere
- integreret
- integration
- beregnet
- interagere
- interaktiv
- internt
- ind
- IT
- ITS
- sluttede
- jpg
- Holde
- Nøgle
- Kend
- sø
- Sprog
- stor
- seneste
- lancere
- lag
- førende
- læring
- biblioteker
- Bibliotek
- ligesom
- Line (linje)
- LINK
- belastning
- maskine
- machine learning
- lave
- maerker
- lykkedes
- ledelse
- manuel
- Marked
- Kan..
- meningsfuld
- mesh
- mindste
- minutter
- ML
- model
- modeller
- Overvåg
- mere
- mest
- navn
- Natural
- Naturligt sprog
- Navigation
- nødvendig
- Behov
- behov
- netværk
- Ny
- Nye teknologier
- notesbog
- notesbøger
- nu
- nummer
- NY
- NYC
- objekter
- observation
- of
- Tilbud
- on
- åbent
- open source
- or
- organisationer
- Andet
- udgange
- i løbet af
- oversigt
- pakke
- pakker
- brød
- parametre
- del
- lidenskabelige
- udfører
- Tilladelser
- Place
- plato
- Platon Data Intelligence
- PlatoData
- legeplads
- stik
- politikker
- pop-up
- Indlæg
- potentiale
- magt
- praksis
- Eksempel
- Main
- private
- behandle
- forarbejdning
- produktion
- Progress
- give
- forudsat
- udbydere
- giver
- offentlige
- Python
- forespørgsler
- spørgsmål
- Spørgsmål
- hurtigt
- R
- Læs
- optegnelser
- reducere
- reducere
- henvise
- Uanset
- region
- regioner
- relevant
- Fjern
- påkrævet
- Ressourcer
- svar
- Resultater
- forlystelser
- roller
- roller
- R
- Kør
- kører
- løber
- sagemaker
- Scala
- Skalerbarhed
- skalerbar
- Scale
- skalering
- scenarier
- Videnskab
- forskere
- SDK
- søgning
- Secret
- sikkerhed
- se
- Vælg
- senior
- tjeneste
- Tjenester
- sæt
- setup
- Vis
- viste
- Simpelt
- forenkle
- enkelt
- So
- løsninger
- Løsninger
- Kilde
- Spark
- specialist
- speciale
- hastighed
- SQL
- stable
- Stakke
- starte
- påbegyndt
- Starter
- Status
- Trin
- Steps
- opbevaring
- ligetil
- Studio
- undernet
- sådan
- Tillæg
- sikker
- systemet
- bord
- taget
- tager
- Teknologier
- Teknologier
- skabelon
- tekst
- at
- deres
- Them
- derefter
- de
- tredjepart
- denne
- tænkte
- Gennem
- tid
- tidslinje
- titan
- til
- værktøjer
- top
- traditionelle
- ui
- under
- låse
- opdateret
- URL
- brug
- brug tilfælde
- anvendte
- Bruger
- brugere
- bruger
- ved brug af
- værdi
- række
- forskellige
- Vast
- Visualiser
- Vej..
- måder
- we
- web
- webservices
- web-baseret
- hvornår
- som
- mens
- vilje
- med
- inden for
- uden
- Arbejde
- arbejder
- virker
- verdensplan
- skriver
- skriftlig
- år
- york
- dig
- Din
- zephyrnet