In dit tijdperk van big data zijn organisaties over de hele wereld voortdurend op zoek naar innovatieve manieren om waarde en inzichten uit hun enorme datasets te halen. Apache Spark biedt de schaalbaarheid en snelheid die nodig zijn om grote hoeveelheden gegevens efficiënt te verwerken.
Amazon EMR is de toonaangevende cloud-big data-oplossing voor gegevensverwerking op petabyte-schaal, interactieve analyses en machine learning (ML) met behulp van open source-frameworks zoals Apache Spark, Apache-bijenkorf en Presto. Amazon EMR is de beste plaats om Apache Spark uit te voeren. U kunt snel en moeiteloos beheerde Spark-clusters maken vanuit de AWS-beheerconsole, AWS-opdrachtregelinterface (AWS CLI) of Amazon EMR API. Je kunt ook extra Amazon EMR-functies gebruiken, waaronder snel Amazon eenvoudige opslagservice (Amazon S3) connectiviteit met behulp van het Amazon EMR File System (EMRFS), integratie met de Amazon EC2-spot markt en de AWS lijm Data Catalog en EMR Managed Scaling om instanties aan uw cluster toe te voegen of te verwijderen. Amazon EMR-studio is een geïntegreerde ontwikkelomgeving (IDE) die het voor datawetenschappers en data-ingenieurs eenvoudig maakt om data engineering- en data science-applicaties geschreven in R, Python, Scala en PySpark te ontwikkelen, visualiseren en debuggen. EMR Studio biedt volledig beheerde Jupyter-notebooks en tools zoals Spark UI en YARN Timeline Service om het opsporen van fouten te vereenvoudigen.
Om het potentieel dat verborgen ligt in de dataschatten te ontsluiten, is het essentieel om verder te gaan dan traditionele analyses. Maak kennis met generatieve AI, een geavanceerde technologie die ML combineert met creativiteit om mensachtige tekst, kunst en zelfs code te genereren. Amazonebodem is de meest eenvoudige manier om generatieve AI-applicaties te bouwen en te schalen met basismodellen (FM's). Amazon Bedrock is een volledig beheerde service die FM's van Amazon en toonaangevende AI-bedrijven beschikbaar maakt via een API, zodat je snel kunt experimenteren met een verscheidenheid aan FM's op de speelplaats en één enkele API kunt gebruiken voor gevolgtrekking, ongeacht de modellen die je kiest, waardoor u hebt de flexibiliteit om FM's van verschillende providers te gebruiken en op de hoogte te blijven van de nieuwste modelversies met minimale codewijzigingen.
In dit bericht onderzoeken we hoe u uw data-analyse een boost kunt geven met generatieve AI met behulp van Amazon EMR, Amazon Bedrock en de pyspark-ai bibliotheek. De pyspark-ai-bibliotheek is een Engelse SDK voor Apache Spark. Er zijn instructies in de Engelse taal nodig en deze worden gecompileerd in PySpark-objecten zoals DataFrames. Dit maakt het eenvoudig om met Spark te werken, zodat u zich kunt concentreren op het extraheren van waarde uit uw data.
Overzicht oplossingen
Het volgende diagram illustreert de architectuur voor het gebruik van generatieve AI met Amazon EMR en Amazon Bedrock.
EMR Studio is een webgebaseerde IDE voor volledig beheerde Jupyter-notebooks die op EMR-clusters draaien. We communiceren met EMR Studio Workspaces die zijn aangesloten op een actief EMR-cluster en gebruiken de notebook die als onderdeel van dit bericht wordt geleverd. Wij gebruiken de Stadstaxi New York gegevens om inzicht te krijgen in de verschillende taxiritten die gebruikers maken. We stellen de vragen in natuurlijke taal bovenop de gegevens die in Spark DataFrame zijn geladen. De pyspark-ai-bibliotheek gebruikt vervolgens de Amazon Titan Text FM van Amazon Bedrock om een SQL-query te maken op basis van de natuurlijke taalvraag. De pyspark-ai-bibliotheek neemt de SQL-query, voert deze uit met Spark SQL en levert resultaten terug aan de gebruiker.
In deze oplossing kunt u de benodigde bronnen in uw AWS-account aanmaken en configureren met een AWS CloudFormatie sjabloon. De sjabloon maakt de AWS lijm database en tabellen, S3-bucket, VPC en andere AWS Identiteits- en toegangsbeheer (IAM)-resources die in de oplossing worden gebruikt.
De sjabloon is ontworpen om te demonstreren hoe u EMR Studio kunt gebruiken met het pyspark-ai-pakket en Amazon Bedrock, en is niet bedoeld voor productiegebruik zonder aanpassingen. Bovendien gebruikt de sjabloon de us-east-1
Regio en werkt mogelijk niet zonder wijziging in andere regio's. De sjabloon maakt resources die kosten met zich meebrengen terwijl ze in gebruik zijn. Volg de opschoonstappen aan het einde van dit bericht om de bronnen te verwijderen en onnodige kosten te voorkomen.
Voorwaarden
Zorg ervoor dat u over het volgende beschikt voordat u de CloudFormation-stack start:
- Een AWS-account dat toegang biedt tot AWS-services
- Een IAM-gebruiker met een toegangssleutel en geheime sleutel om de AWS CLI te configureren, en machtigingen om een IAM-rol, IAM-beleid en stapels te creëren in AWS CloudFormation
- Het Titan Text G1 – Express-model is momenteel in preview, dus je hebt preview-toegang nodig om het te gebruiken als onderdeel van dit bericht
Creëer resources met AWS CloudFormation
De CloudFormation creëert de volgende AWS-bronnen:
- Een VPC-stack met privé- en openbare subnetten voor gebruik met EMR Studio, routetabellen en NAT-gateway.
- Een EMR-cluster waarop Python 3.9 is geïnstalleerd. We gebruiken een bootstrap-actie om Python 3.9 en andere relevante pakketten zoals pyspark-ai en Amazon Bedrock-afhankelijkheden te installeren. (Voor meer informatie, zie de bootstrap-script.)
- Een S3-bucket voor de EMR Studio Workspace en notebookopslag.
- IAM-rollen en -beleid voor het instellen van EMR Studio, toegang tot Amazon Bedrock en het uitvoeren van notebooks
Voer de volgende stappen uit om aan de slag te gaan:
Het duurt ongeveer 20 tot 30 minuten om de CloudFormation-stack te voltooien. U kunt de voortgang ervan volgen op de AWS CloudFormation-console. Wanneer de status luidt CREATE_COMPLETE
, beschikt uw AWS-account over de middelen die nodig zijn om deze oplossing te implementeren.
EMR-studio maken
Nu kunt u een EMR Studio en Workspace maken om met de notebookcode te werken. Voer de volgende stappen uit:
- Kies op de EMR Studio-console Studio maken.
- Voer de Studio naam as
GenAI-EMR-Studio
en geef een beschrijving. - In het Netwerken en beveiliging sectie, specificeer het volgende:
- Voor VPC, kiest u de VPC die u hebt gemaakt als onderdeel van de CloudFormation-stack die u hebt geïmplementeerd. Haal de VPC ID op met behulp van de CloudFormation-uitvoer voor de VPCID-sleutel.
- Voor subnetten, kies alle vier de subnetten.
- Voor Beveiliging en toegangselecteer Aangepaste beveiligingsgroep.
- Voor Cluster-/eindpuntbeveiligingsgroep, kiezen
EMRSparkAI-Cluster-Endpoint-SG
. - Voor Beveiligingsgroep voor werkruimte, kiezen
EMRSparkAI-Workspace-SG
.
- In het Rol van studioservice sectie, specificeer het volgende:
- Voor authenticatieselecteer AWS identiteits- en toegangsbeheer (IAM).
- Voor AWS IAM-servicerol, kiezen
EMRSparkAI-StudioServiceRole
.
- In het Opslag van werkruimte sectie, blader en kies de S3-bucket voor opslag, beginnend met
emr-sparkai-<account-id>
. - Kies Studio maken.
- Wanneer de EMR Studio is aangemaakt, kiest u de onderstaande link Studiotoegangs-URL om toegang te krijgen tot de Studio.
- Als je in de Studio bent, kies dan Werkruimte maken.
- Toevoegen
emr-genai
als de naam voor de werkruimte en kies Werkruimte maken. - Wanneer de werkruimte is gemaakt, kiest u de naam ervan om de werkruimte te starten (zorg ervoor dat u eventuele pop-upblokkeringen hebt uitgeschakeld).
Big data-analyse met Apache Spark met Amazon EMR en generatieve AI
Nu we de vereiste instellingen hebben voltooid, kunnen we beginnen met het uitvoeren van big data-analyses met Apache Spark met Amazon EMR en generatieve AI.
Als eerste stap laden we een notebook met de vereiste code en voorbeelden om met de use case te werken. We gebruiken de NY Taxi-dataset, die details over taxiritten bevat.
- Download het notebookbestand NYTaxi.ipynb en upload het naar uw werkruimte door het uploadpictogram te kiezen.
- Nadat het notebook is geïmporteerd, opent u het notebook en kiest u
PySpark
als de pit.
PySpark-AI gebruikt standaard OpenAI's ChatGPT4.0 als het LLM-model, maar je kunt ook modellen van Amazon Bedrock aansluiten, Amazon SageMaker JumpStarten andere modellen van derden. Voor dit bericht laten we zien hoe je het Amazon Bedrock Titan-model kunt integreren voor het genereren van SQL-query's en het kunt uitvoeren met Apache Spark in Amazon EMR.
- Om aan de slag te gaan met de notebook, moet u de werkruimte aan een rekenlaag koppelen. Kies hiervoor de Berekenen -pictogram in het navigatievenster en kies het EMR-cluster dat is gemaakt door de CloudFormation-stack.
- Configureer de Python-parameters om het bijgewerkte Python 3.9-pakket te gebruiken met Amazon EMR:
- Importeer de benodigde bibliotheken:
- Nadat de bibliotheken zijn geïmporteerd, kunt u het LLM-model vanuit Amazon Bedrock definiëren. In dit geval gebruiken we amazon.titan-text-express-v1. U moet de URL van het Regio- en Amazon Bedrock-eindpunt invoeren op basis van uw preview-toegang voor het Titan Text G1 – Express-model.
- Verbind Spark AI met het Amazon Bedrock LLM-model voor het genereren van SQL-query's op basis van vragen in natuurlijke taal:
Hier hebben we Spark AI geïnitialiseerd met verbose=False; Je kunt ook verbose=True instellen om meer details te zien.
Nu kunt u de NYC Taxi-gegevens in een Spark DataFrame lezen en de kracht van generatieve AI in Spark gebruiken.
- U kunt bijvoorbeeld de telling van het aantal records in de dataset opvragen:
We krijgen de volgende reactie:
Spark AI gebruikt intern LangChain en SQL-keten, die de complexiteit verbergen voor eindgebruikers die met query's in Spark werken.
De notebook heeft nog een paar voorbeeldscenario's om de kracht van generatieve AI met Apache Spark en Amazon EMR te verkennen.
Opruimen
Leeg de inhoud van de S3-emmer emr-sparkai-<account-id>
, verwijder de EMR Studio Workspace die is gemaakt als onderdeel van dit bericht en verwijder vervolgens de CloudFormation-stack die u hebt geïmplementeerd.
Conclusie
Dit bericht liet zien hoe u uw big data-analyse een boost kunt geven met behulp van Apache Spark met Amazon EMR en Amazon Bedrock. Met het PySpark AI-pakket kunt u betekenisvolle inzichten uit uw gegevens halen. Het helpt de ontwikkelings- en analysetijd te verminderen, waardoor u minder tijd hoeft te besteden aan het schrijven van handmatige query's en u zich kunt concentreren op uw zakelijke gebruiksscenario.
Over de auteurs
Saurabh Bhutyani is een Principal Analytics Specialist Solutions Architect bij AWS. Hij heeft een passie voor nieuwe technologieën. Hij kwam in 2019 bij AWS en werkt samen met klanten om architecturale begeleiding te bieden voor het uitvoeren van generatieve AI-gebruiksscenario's, schaalbare analyseoplossingen en data mesh-architecturen met behulp van AWS-services zoals Amazon Bedrock, Amazon SageMaker, Amazon EMR, Amazon Athena, AWS Glue, AWS Lake Formation, en Amazon DataZone.
Moeilijk Vardhan is een AWS Senior Solutions Architect, gespecialiseerd in analytics. Hij heeft ruim 8 jaar ervaring op het gebied van big data en data science. Hij heeft een passie voor het helpen van klanten bij het toepassen van best practices en het ontdekken van inzichten uit hun data.
- Door SEO aangedreven content en PR-distributie. Word vandaag nog versterkt.
- PlatoData.Network Verticale generatieve AI. Versterk jezelf. Toegang hier.
- PlatoAiStream. Web3-intelligentie. Kennis versterkt. Toegang hier.
- PlatoESG. carbon, CleanTech, Energie, Milieu, Zonne, Afvalbeheer. Toegang hier.
- Plato Gezondheid. Intelligentie op het gebied van biotech en klinische proeven. Toegang hier.
- Bron: https://aws.amazon.com/blogs/big-data/use-generative-ai-with-amazon-emr-amazon-bedrock-and-english-sdk-for-apache-spark-to-unlock-insights/
- : heeft
- :is
- :niet
- $UP
- 1
- 10
- 100
- 107
- 11
- 20
- 200
- 2019
- 320
- 500
- 521
- 7
- 8
- 9
- 990
- a
- Over
- toegang
- toegangsbeheer
- Account
- erkennen
- Actie
- toevoegen
- Extra
- Daarnaast
- adopteren
- AI
- ai-gebruiksgevallen
- Alles
- Het toestaan
- toestaat
- ook
- Amazone
- Amazone Athene
- Amazon EMR
- Amazon Sage Maker
- Amazon Web Services
- hoeveelheden
- an
- analyse
- analytics
- en
- beantwoorden
- elke
- apache
- Apache Spark
- api
- toepassingen
- ongeveer
- bouwkundig
- architectuur
- ZIJN
- Kunst
- AS
- vragen
- Associëren
- At
- Beschikbaar
- vermijd
- AWS
- AWS CloudFormatie
- AWS lijm
- AWS Lake-formatie
- terug
- gebaseerde
- BEST
- 'best practices'
- Verder
- Groot
- Big data
- Bootstrap
- bouw
- bedrijfsdeskundigen
- maar
- by
- CAN
- geval
- gevallen
- catalogus
- keten
- Wijzigingen
- lasten
- Kies
- het kiezen van
- Plaats
- Cloud
- grote gegevens in de cloud
- TROS
- code
- combines
- Bedrijven
- compleet
- Voltooid
- ingewikkeldheid
- Berekenen
- gekoppeld blijven
- Connectiviteit
- troosten
- permanent
- bevat
- inhoud
- Kosten
- en je merk te creëren
- aangemaakt
- creëert
- creativiteit
- Op dit moment
- Klanten
- op het randje
- gegevens
- gegevens Analytics
- gegevensverwerking
- data science
- Database
- datasets
- Datum
- Standaard
- bepalen
- tonen
- afhankelijkheden
- ingezet
- Derive
- beschrijving
- ontworpen
- gegevens
- ontwikkelen
- Ontwikkeling
- anders
- invalide
- Onthul Nu
- do
- efficiënt
- moeiteloos
- einde
- Endpoint
- Engineering
- Ingenieurs
- Engels
- verzekeren
- Enter
- het invoeren van
- Milieu
- Tijdperk
- essentieel
- Ether (ETH)
- Zelfs
- voorbeeld
- voorbeelden
- ervaring
- experiment
- Verken
- uitdrukkelijk
- extract
- SNELLE
- Voordelen
- weinig
- veld-
- Dien in
- finale
- Voornaam*
- Flexibiliteit
- Focus
- volgen
- volgend
- Voor
- vorming
- Foundation
- vier
- frameworks
- oppompen van
- geheel
- g1
- graanzolder
- poort
- voortbrengen
- generatie
- generatief
- generatieve AI
- krijgen
- Vrijgevigheid
- Go
- leiding
- Hebben
- he
- hulp
- het helpen van
- helpt
- verborgen
- Verbergen
- Hoe
- How To
- http
- HTTPS
- i
- IAM
- ICON
- ID
- Identiteit
- identiteits- en toegangsbeheer
- illustreert
- uitvoeren
- importeren
- in
- Anders
- Inclusief
- toonaangevende
- informatie
- innovatieve
- invoer
- inzichten
- installeren
- gevallen
- instructies
- integreren
- geïntegreerde
- integratie
- bestemde
- interactie
- interactieve
- inwendig
- in
- IT
- HAAR
- toegetreden
- jpg
- Houden
- sleutel
- blijven
- meer
- taal
- Groot
- laatste
- lancering
- lagen
- leidend
- leren
- bibliotheken
- Bibliotheek
- als
- Lijn
- LINK
- laden
- machine
- machine learning
- maken
- MERKEN
- beheerd
- management
- handboek
- Markt
- Mei..
- zinvolle
- mesh
- minimaal
- minuten
- ML
- model
- modellen
- monitor
- meer
- meest
- naam
- Naturel
- Natuurlijke taal
- Navigatie
- noodzakelijk
- Noodzaak
- nodig
- netwerken
- New
- Nieuwe technologieën
- notitieboekje
- laptops
- nu
- aantal
- NY
- NYC
- objecten
- observatie
- of
- Aanbod
- on
- open
- open source
- or
- organisaties
- Overige
- uitgangen
- over
- overzicht
- pakket
- Paketten
- brood
- parameters
- deel
- hartstochtelijk
- uitvoerend
- permissies
- plaats
- Plato
- Plato gegevensintelligentie
- PlatoData
- speelplaats
- stekker
- beleidsmaatregelen door te lezen.
- pop-up
- Post
- potentieel
- energie
- praktijken
- Voorbeschouwing
- Principal
- privaat
- verwerking
- productie
- Voortgang
- zorgen voor
- mits
- providers
- biedt
- publiek
- Python
- queries
- vraag
- Contact
- snel
- R
- Lees
- archief
- verminderen
- vermindering
- verwijzen
- achteloos
- regio
- regio
- relevante
- verwijderen
- nodig
- Resources
- antwoord
- Resultaten
- ritten
- Rol
- rollen
- weg
- lopen
- lopend
- loopt
- sagemaker
- Scala
- Schaalbaarheid
- schaalbare
- Scale
- scaling
- scenario's
- Wetenschap
- wetenschappers
- sdk
- zoeken
- Geheim
- veiligheid
- zien
- kiezen
- senior
- service
- Diensten
- reeks
- setup
- tonen
- vertoonde
- Eenvoudig
- vereenvoudigen
- single
- So
- oplossing
- Oplossingen
- bron
- Vonk
- specialist
- gespecialiseerd
- snelheid
- SQL
- stack
- Stacks
- begin
- gestart
- Start
- Status
- Stap voor
- Stappen
- mediaopslag
- eenvoudig
- studio
- subnetten
- dergelijk
- overbelasten
- zeker
- system
- tafel
- ingenomen
- neemt
- Technologies
- Technologie
- sjabloon
- tekst
- dat
- De
- hun
- Ze
- harte
- ze
- van derden
- dit
- gedachte
- Door
- niet de tijd of
- tijdlijn
- Titan
- naar
- tools
- top
- traditioneel
- ui
- voor
- openen
- bijgewerkt
- URL
- .
- use case
- gebruikt
- Gebruiker
- gebruikers
- toepassingen
- gebruik
- waarde
- variëteit
- divers
- groot
- visualiseren
- Manier..
- manieren
- we
- web
- webservices
- Web-based
- wanneer
- welke
- en
- wil
- Met
- binnen
- zonder
- Mijn werk
- werkzaam
- Bedrijven
- wereldwijd
- schrijven
- geschreven
- jaar
- york
- u
- Your
- zephyrnet