Organisaties gebruiken data steeds vaker om beslissingen te nemen en innovatie te stimuleren. Het bouwen van datagestuurde applicaties kan echter een uitdaging zijn. Vaak moeten meerdere teams samenwerken en verschillende databronnen, tools en services integreren. Bijvoorbeeld, het maken van een gerichte marketing-app vereist data engineers, data scientists en business analisten die verschillende systemen en tools gebruiken. Deze complexiteit leidt tot verschillende problemen: het kost tijd om meerdere systemen te leren, het is moeilijk om data en code te beheren in verschillende services en het beheren van de toegang voor gebruikers in verschillende systemen is ingewikkeld. Momenteel creรซren organisaties vaak aangepaste oplossingen om deze systemen te verbinden, maar ze willen een meer uniforme aanpak waarmee ze de beste tools kunnen kiezen en tegelijkertijd een gestroomlijnde ervaring kunnen bieden voor hun datateams. Het gebruik van afzonderlijke datawarehouses en lakes heeft datasilo's gecreรซerd, wat leidt tot problemen zoals gebrek aan interoperabiliteit, dubbele governance-inspanningen, complexe architecturen en een tragere time-to-value.
Je kunt gebruiken Amazon SageMaker Lakehouse om uniforme toegang tot gegevens in zowel datawarehouses als datalakes te bereiken. Via SageMaker Lakehouse kunt u preferred analytics, machine learning en business intelligence engines gebruiken via een open Apache Iceberg REST API om veilige toegang tot gegevens te garanderen met consistente, fijnmazige toegangscontroles.
Overzicht oplossingen
Laten we Example Retail Corp eens bekijken, dat te maken heeft met een toenemende klantverloop. Het management wil een datagestuurde aanpak implementeren om risicoklanten te identificeren en gerichte retentiestrategieรซn te ontwikkelen. De klantgegevens zijn echter verspreid over verschillende systemen en services, waardoor het lastig is om uitgebreide analyses uit te voeren. Tegenwoordig beheert Example Retail Corp verkoopgegevens in zijn datawarehouse en klantgegevens in Apache Iceberg-tabellen in Eenvoudige opslagservice van Amazon (Amazon S3). Het gebruikt Amazon EMR Serverloos voor dataverwerking en machinaal leren. Voor governance gebruikt het AWS-lijmgegevenscatalogus als de centrale technische catalogus en AWS Lake-formatie als toestemmingsopslag voor het afdwingen van fijnmazige toegangscontroles. Het hoofddoel is om een โโuniform gegevensbeheersysteem te implementeren dat nu gegevens uit verschillende bronnen combineert, veilige toegang in de hele onderneming mogelijk maakt en verschillende teams in staat stelt om voorkeurstools te gebruiken om klantverloopinformatie te voorspellen, analyseren en consumeren.
Laten we eens kijken hoe Example Retail Corp SageMaker Lakehouse kan gebruiken om zijn visie op uniform gegevensbeheer te realiseren met behulp van dit referentiearchitectuurdiagram.
Persona's
Er worden vier persona's gebruikt in deze oplossing.
- De Data Lake Admin heeft een AWS identiteits- en toegangsbeheer (IAM) beheerdersrol en is een Lake Formation-beheerder die verantwoordelijk is voor het beheer van gebruikersmachtigingen om objecten te catalogiseren met behulp van Lake Formation.
- De Data Warehouse Admin heeft een IAM-beheerdersrol en beheert databases in Amazon Redshift.
- De Data Engineer heeft een IAM ETL-rol en voert de ETL-pijplijn (Extract, Transform, Load) uit met behulp van Spark om de Lakehouse-catalogus op RMS te vullen.
- De Data Analyst heeft een IAM-analistrol en voert churn-analyses uit op SageMaker Lakehouse-gegevens met behulp van Amazone Athene en Amazon roodverschuiving.
dataset
De volgende tabel beschrijft de elementen van de dataset.
Schema | tafel | Databron |
public |
customer_churn |
Lakehouse catalogus met opslag op RMS |
customerdb |
customer |
Lakehouse-catalogus met opslag op Amazon S3 |
sales |
store_sales |
Gegevens magazijn |
Voorwaarden
Om de oplossingsbeschrijving te kunnen volgen, hebt u het volgende nodig:
- Maak een door de gebruiker gedefinieerde IAM-rol aan volgens de instructies in Vereisten voor rollen die worden gebruikt om locaties te registrerenVoor dit bericht gebruiken we de IAM-rol
LakeFormationRegistrationRole
. - An Amazon virtuele privรฉcloud (Amazon VPC) met privรฉ- en openbare subnetten.
- Maak een S3-bucket. Voor deze post gebruiken we
customer_data
als de naam van de emmer. - Maak een Amazon Redshift serverloos eindpunt Dit betekent dat we onszelf en onze geliefden praktisch vergiftigen.
sales_dw
die zal hostenstore_sales
gegevensset. - Maak een Amazon Redshift serverloos eindpunt Dit betekent dat we onszelf en onze geliefden praktisch vergiftigen.
sales_analysis_dw
voor churnanalyse door verkoopanalisten. - Maak een IAM-rol met de naam
DataTransferRole
volgens de instructies in Vereisten voor het beheren van Amazon Redshift-naamruimten in de AWS Glue Data Catalog. - Installeer of update de nieuwste versie van de AWS CLI. Voor instructies, zie Installeren of updaten naar de nieuwste versie van de AWS CLI.
- Maak een data lake-beheerder aan met behulp van de instructies in Maak een data lake-beheerder aanVoor deze post gebruiken we een IAM-rolecall.d Beheerder.
Configureer Datalake-beheerders:
Meld u aan bij de AWS Management Console als Admin en ga naar AWS Lake Formation. Kies in het navigatievenster Administratieve rollen en kies dan Taken voor Administratie. Onder Data Lake-beheerders, kiezen Toevoegen:
- In het Beheerders toevoegen pagina, onder Toegangstype, kiezen Data lake-beheerder.
- Onder IAM-gebruikers en -rollenselecteer beheerder. Kiezen Bevestigen.
- Op de Beheerders toevoegen pagina, voor Toegangstype kiezen Alleen-lezen beheerders. Onder IAM-gebruikers en -rollenselecteer AWSServiceRoleForRedshift En kies BevestigdMet deze stap kan Amazon Redshift catalogusobjecten in AWS Glue Data Catalog ontdekken en openen.
Oplossingsoverzicht
Maak een klantentabel in het Amazon S3-datameer in AWS Glue Data Catalog
- Maak een AWS lijm databank genoemd
customerdb
in de standaardcatalogus in uw account door naar de AWS Lake Formation-console te gaan en te kiezen databases in het navigatievenster. - Selecteer de database die u zojuist hebt gemaakt en kies Edit.
- Schakel het selectievakje uit Gebruik alleen IAM-toegangscontrole voor nieuwe tabellen in deze database.
- Meld u aan bij de Athena-console als Admin en selecteer Workgroup waartoe de rol toegang heeft. Voer de volgende SQL uit:
- Registreer de S3-bucket bij Lake Formation:
- Meld u aan bij de Lake Formation-console als Data Lake Admin.
- Kies in het navigatievenster Administratieen kies vervolgens Data Lake-locaties.
- Kies Registreer locatie.
- Voor de Amazon S3-pad, ga naar binnen
s3://customer_data/
. - Voor de IAM-rol, kiezen LakeFormationRegistratieRol.
- Voor Toestemmingsmodusselecteer Vorming van het meer.
- Kies Registreer locatie.
Maak de salesdb-database in Amazon Redshift
- Meld u aan bij het Redshift-eindpunt
sales_dw
als Admin-gebruiker. Voer het volgende script uit om een โโdatabase te maken met de naamsalesdb
. - Aansluiten op
salesdb
. Voer het volgende script uit om een โโschema te makensales
enstore_sales
tabel en vul deze met gegevens.
Maak de churn_lakehouse RMS-catalogus in Glue Data Catalog
Deze catalogus bevat de tabel met klantverloopgegevens met beheerde RMS-opslag, die wordt gevuld met behulp van Amazon EMR.
We beheren de klantverloopgegevens in een door AWS Glue beheerde catalogus met beheerde RMS-opslag. Deze gegevens worden geproduceerd op basis van een analyse die is uitgevoerd in EMR Serverless en zijn toegankelijk in de presentatielaag om te dienen voor business intelligence (BI)-applicaties.
Maak Lakehouse (RMS) catalogus
- Meld u aan bij de Lake Formation-console als Data Lake Admin.
- Kies in het linkernavigatievenster Gegevenscatalogus, En vervolgens Catalogi Nieuw. Kiezen Catalogus maken.
- Geef de details voor de catalogus:
- Naam: Enter
churn_lakehouse
. - Type: Selecteer Beheerde catalogus.
- Opbergen: Selecteer Redshift.
- Onder Toegang vanaf motoren, zeker weten dat Krijg toegang tot deze catalogus via Iceberg-compatibele engines is geselecteerd.
- Kies Volgende.
- Naam: Enter
-
- Onder opdrachtgeversselecteer IAM-gebruikers en -rollen. Onder IAM-gebruikers en rollen, selecteer de beheerder Onder Catalogusmachtigingenselecteer Super gebruiker.
- Kies Toevoegenen kies vervolgens Catalogus maken.
- Onder opdrachtgeversselecteer IAM-gebruikers en -rollen. Onder IAM-gebruikers en rollen, selecteer de beheerder Onder Catalogusmachtigingenselecteer Super gebruiker.
Toegang tot churn_lakehouse RMS-catalogus vanuit Amazon EMR Spark-engine
- Een EMR-studio opzetten.
- Maak een EMR Serverless-applicatie met behulp van de CLI-opdracht.
Meld u aan bij EMR Studio en gebruik de EMR Studio Workspace
- Meld u aan bij de EMR Studio-console en kies workspaces in het navigatievenster en kies vervolgens Werkruimte maken.
- Voer een naam en een beschrijving in voor de werkruimte.
- Kies Werkruimte maken. Een nieuw tabblad met JupyterLab wordt automatisch geopend wanneer de Workspace gereed is. Schakel indien nodig pop-ups in uw browser in.
- Selecteer het Compute-pictogram in het navigatievenster om de EMR Studio Workspace te koppelen aan een compute engine.
- kies EMR serverloze applicatie voor Bereken type.
- Kies
Churn_Analysis
voor EMR-S-applicatie. - Voor Runtime-rol, kiezen beheerder.
- Kies hechten.
Download het notitieboek, importeer het, kies PySpark-kernel en voer de cellen uit die de tabel zullen aanmaken.
Beheer de gedetailleerde toegang van uw gebruikers tot catalogusobjecten met AWS Lake Formation
Verleen de volgende machtigingen aan de rol Analist voor de resources, zoals weergegeven in de volgende tabel.
Catalogus | Database | tafel | Toestemming |
<account_id>:churn_lakehouse/dev |
public |
customer_churn |
Kolommachtiging: |
<account_id> |
customerdb |
customer |
Tabelmachtiging |
<account_id>:sales_lakehouse/salesdb |
sales |
store_sales |
Alle tabelmachtigingen |
- Meld u aan bij de Lake Formation-console als Data Lake Admin. Kies in het navigatievenster Data Lake-machtigingenen kies vervolgens Grant.
- Voor IAM-gebruiker en rollen, kiezen Analist IAM-rol. Kies voor de middelen zoals hieronder aangegeven en verleen.
- Voor IAM-gebruiker en rollen, kiezen Analist IAM-rol. Kies voor de bron zoals hieronder weergegeven en verleen.
- Voor IAM-gebruiker en rollen, kiezen Analist IAM-rol. Kies voor de bron zoals hieronder weergegeven en verleen.
Voer churn-analyse uit met behulp van meerdere engines:
Athena gebruiken
Meld u aan bij de Athena-console met de IAM Analyst-rol, selecteer de werkgroep waartoe de rol toegang heeft. Voer de volgende SQL uit door gegevens uit het datawarehouse en de Lake House RMS-catalogus te combineren voor churn-analyse:
De onderstaande afbeelding toont de resultaten, inclusief klant-ID's, namen en andere informatie.
Amazon Redshift gebruiken
Meld u aan bij het Redshift Sale-cluster QEV2 met de IAM Analyst-rol. Meld u aan met tijdelijke referenties met uw IAM-identiteit en voer de volgende SQL-opdracht uit:
De onderstaande afbeelding toont de resultaten, inclusief klant-ID's, namen en andere informatie.
Opruimen
Voer de volgende stappen uit om de door u gemaakte resources te verwijderen en onverwachte kosten te voorkomen:
- Verwijderde Redshift Serverless-werkgroepen.
- Verwijderde bijbehorende Redshift Serverless-naamruimte.
- Verwijder EMR Studio en de gemaakte toepassing.
- Verwijder Glue-bronnen en Lake Formation-machtigingen.
- Maak de emmer leeg en verwijder de emmer.
Conclusie
In dit bericht hebben we laten zien hoe u Amazon SageMaker Lakehouse kunt gebruiken om uniforme toegang tot gegevens in uw datawarehouses en datalakes te verkrijgen. Met uniforme toegang kunt u preferred analytics, machine learning en business intelligence engines gebruiken via een open Apache Iceberg REST API en beveiligde toegang tot gegevens met consistente, fijnmazige toegangscontroles. Probeer Amazon SageMaker Lakehouse in uw omgeving en deel uw feedback met ons.
Over de auteurs
Srividya Parthasarathy is een Senior Big Data Architect in het AWS Lake Formation-team. Ze werkt met het productteam en de klant om robuuste functies en oplossingen te bouwen voor hun analytische dataplatform. Ze vindt het leuk om data mesh-oplossingen te bouwen en deze te delen met de community.
Harshida Patel is een Analytics Specialist Principal Solutions Architect, bij AWS.
- 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/simplify-data-access-for-your-enterprise-using-amazon-sagemaker-lakehouse/