Valmistele dataa suuressa mittakaavassa Amazon SageMaker Studiossa käyttämällä palvelimettomia AWS Glue -interaktiivisia istuntoja PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.

Valmistele dataa suuressa mittakaavassa Amazon SageMaker Studiossa käyttämällä palvelimettomia interaktiivisia AWS Glue -istuntoja

Amazon SageMaker Studio on ensimmäinen täysin integroitu kehitysympäristö (IDE) koneoppimiseen (ML). Se tarjoaa yhden verkkopohjaisen visuaalisen käyttöliittymän, jossa voit suorittaa kaikki ML-kehitysvaiheet, mukaan lukien tietojen valmistelu ja mallien rakentaminen, koulutus ja käyttöönotto.

AWS-liima on palvelimeton tietojen integrointipalvelu, jonka avulla on helppo löytää, valmistella ja yhdistää tietoja analytiikkaa, ML- ja sovelluskehitystä varten. AWS Glue -liiman avulla voit saumattomasti kerätä, muuttaa, puhdistaa ja valmistella dataa tallennusta varten datajärvissäsi ja dataputkissa käyttämällä erilaisia ​​ominaisuuksia, kuten sisäänrakennetut muunnokset.

Tietosuunnittelijat ja datatieteilijät voivat nyt valmistella dataa vuorovaikutteisesti mittakaavassa käyttämällä Studio-kannettavansa sisäänrakennettua integraatiota AWS Gluen hallinnoimiin palvelimettomiin Spark-istuntoihin. Käynnistyy sekunneissa ja pysähtyy automaattisesti, kun se on tyhjäkäynnillä, Interaktiiviset AWS Glue -istunnot tarjoavat pyynnöstä, erittäin skaalautuvan, palvelimettoman Spark-taustajärjestelmän, joka mahdollistaa skaalautuvan tiedon valmistelun Studiossa. Huomattavia etuja AWS Glue -interaktiivisten istuntojen käytöstä Studio-kannettavissa ovat:

  • Ei tarjottavia tai hallinnoitavia klustereita
  • Ei käyttämättömiä klustereita, joista maksaa
  • Ei vaadi etukäteisasetuksia
  • Ei resurssikilpailua samasta kehitysympäristöstä
  • Täsmälleen sama palvelimeton Spark-ajoaika ja -alusta kuin AWS Glue -purkamis-, muunnos- ja lataustyöt (ETL)

Tässä viestissä näytämme, kuinka valmistella dataa mittakaavassa Studiossa käyttämällä palvelimettomia interaktiivisia AWS Glue -istuntoja.

Ratkaisun yleiskatsaus

Voit ottaa tämän ratkaisun käyttöön suorittamalla seuraavat korkean tason vaiheet:

  1. Päivitä AWS-henkilöllisyyden ja käyttöoikeuksien hallinta (IAM) roolioikeudet.
  2. Käynnistä interaktiivinen AWS Glue -istuntoydin.
  3. Määritä interaktiivinen istuntosi.
  4. Mukauta interaktiivista istuntoa ja suorita skaalautuva tietojen valmistelutyökuorma.

Päivitä IAM-roolioikeudet

Aloittaaksesi sinun on päivitettävä Studio-käyttäjäsi IAM-suoritusrooli vaadituilla käyttöoikeuksilla. Katso tarkemmat ohjeet osoitteesta Interaktiivisten Glue-istuntojen käyttöoikeudet SageMaker Studiossa.

Lisäät ensin hallinnoidut käytännöt suoritusrooliisi:

  1. Valitse IAM-konsolista Roolit navigointipaneelissa.
  2. Etsi käyttämäsi Studion suoritusrooli ja valitse roolin nimi siirtyäksesi roolien yhteenvetosivulle.
  3. On Oikeudet -välilehdellä Lisää käyttöoikeudet valikosta, valitse Liitä käytännöt.
  4. Valitse hallinnoidut käytännöt AmazonSageMakerFullAccess ja AwsGlueSessionUserRestrictedServiceRole
  5. Valita Liitä käytännöt.
    Yhteenvetosivulla näkyvät juuri lisätyt hallinnoidut käytännöt. Nyt voit lisätä mukautetun käytännön ja liittää sen suoritusrooliisi.
  6. On Lisää käyttöoikeudet valikosta, valitse Luo sisäinen käytäntö.
  7. On JSON -välilehti, anna seuraava käytäntö:
    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "VisualEditor0",
                "Effect": "Allow",
                "Action": [
                    "iam:GetRole",
                    "iam:PassRole",
                    "sts:GetCallerIdentity"
                ],
                "Resource": "*"
            }
        ]
    }

  8. Muokkaa roolisi luottamussuhdetta:
    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Principal": {
                    "Service": [
                        "glue.amazonaws.com",
                        "sagemaker.amazonaws.com"
                    ]
                },
                "Action": "sts:AssumeRole"
            }
        ]
    }

Käynnistä interaktiivinen AWS Glue -istuntoydin

Jos sinulla on jo käyttäjiä Studio-verkkotunnuksessasi, saatat tarvita heitä sammuttaa ja käynnistää Jupyter-palvelimensa uudelleen poimiaksesi uudet muistikirjan ytimen kuvat.

Kun lataat uudelleen, voit luoda uuden Studio-muistikirjan ja valitse haluamasi ydin. Sisäänrakennettu SparkAnalytics 1.0 kuvan pitäisi olla nyt saatavilla, ja voit valita haluamasi AWS Glue -ytimen (Liimaa Scala Spark or Liimaa PySpark).

Määritä interaktiivinen istuntosi

Voit helposti määrittää interaktiivisen AWS Glue -istunnon kannettavan tietokoneen solutaikoilla ennen alustusta. Magics ovat pieniä komentoja, joiden etuliitteenä on % Jupyter-solujen alussa ja jotka tarjoavat pikakuvakkeita ympäristön hallintaan. Interaktiivisissa AWS Glue -istunnoissa taikuutta käytetään kaikkiin konfigurointitarpeisiin, mukaan lukien:

  • %alue – AWS-alue, jossa istunto alustetaan. Oletusasetus on Studio Region.
  • %iam_role – IAM-rooli ARN, jolla istunto suoritetaan. Oletusarvo on käyttäjän SageMaker-suoritusrooli.
  • %työntekijän_tyyppi - AWS Liimatyöntekijän tyyppi. Oletus on vakio.
  • %_of_workers – Työntekijöiden määrä, joka myönnetään työn suorittamisen yhteydessä. Oletusarvo on viisi.
  • %idle_timeout – Käyttämättömyyden minuuttien määrä, jonka jälkeen istunnon aikakatkaisu. Oletusarvo on 2,880 XNUMX minuuttia.
  • %additional_python_modules – Pilkuilla eroteltu luettelo muista Python-moduuleista, jotka sisällytetään klusteriisi. Tämä voi olla PyPi tai Amazonin yksinkertainen tallennuspalvelu (Amazon S3).
  • %%määritä – JSON-muotoiltu sanakirja, joka koostuu AWS-liimakohtaiset konfigurointiparametrit istuntoa varten.

Jos haluat kattavan luettelon tämän ytimen määritettävistä taikaparametreista, käytä %help taikuutta muistikirjassasi.

Interaktiivinen AWS Glue -istuntosi ei käynnisty ennen kuin ensimmäinen ei-maaginen solu on suoritettu.

Mukauta interaktiivista istuntoa ja suorita tietojen valmistelutyökuorma

Esimerkkinä seuraavat muistikirjan solut näyttävät, kuinka voit mukauttaa interaktiivista AWS Glue -istuntoa ja suorittaa skaalautuvan tietojen valmistelutyökuorman. Tässä esimerkissä suoritamme ETL-tehtävän kootaksemme tietyn kaupungin ilmanlaatutietoja vuorokauden tunnin mukaan.

Määritämme istuntomme tallentamaan Spark-lokimme S3-säihöön reaaliaikaista virheenkorjausta varten, jonka näemme myöhemmin tässä viestissä. Varmista, että iam_role joka käyttää AWS Glue -istuntoa, on kirjoitusoikeus määritettyyn S3-säilöyn.

%help

%session_id_prefix air-analysis-
%glue_version 3.0
%idle_timeout 60
%%configure
{
"--enable-spark-ui": "true",
"--spark-event-logs-path": "s3://<BUCKET>/gis-spark-logs/"
}

Seuraavaksi lataamme tietojoukkomme suoraan Amazon S3:sta. Vaihtoehtoisesti voisit lataa tiedot AWS-liimatietokatalogilla.

from pyspark.sql.functions import split, lower, hour
print(spark.version)
day_to_analyze = "2022-01-05"
df = spark.read.json(f"s3://openaq-fetches/realtime-gzipped/{day_to_analyze}/1641409725.ndjson.gz")
df_air = spark.read.schema(df.schema).json(f"s3://openaq-fetches/realtime-gzipped/{day_to_analyze}/*")

Lopuksi kirjoitamme muunnetun tietojoukon määrittämäämme lähtösäilön sijaintiin:

df_city = df_air.filter(lower((df_air.city)).contains('delhi')).filter(df_air.parameter == "no2").cache()
df_avg = df_city.withColumn("Hour", hour(df_city.date.utc)).groupBy("Hour").avg("value").withColumnRenamed("avg(value)", "no2_avg")
df_avg.sort("Hour").show()

# Examples of reading / writing to other data stores: 
# https://github.com/aws-samples/aws-glue-samples/tree/master/examples/notebooks

df_avg.write.parquet(f"s3://<BUCKET>/{day_to_analyze}.parquet")

Kun olet suorittanut työsi, voit lopettaa interaktiivisen AWS Glue -istunnon välittömästi sammuttamalla Studio-muistikirjan ytimen tai voit käyttää %stop_session taika.

Virheenkorjaus ja Spark-käyttöliittymä

Edellisessä esimerkissä määritimme ”--enable-spark-ui”: “true” argumentti yhdessä a "--spark-event-logs-path": location. Tämä määrittää AWS Glue -istuntomme tallentamaan istuntolokit, jotta voimme käyttää Spark-käyttöliittymää AWS-liimatyömme valvontaan ja virheenkorjaukseen reaaliajassa.

Katso Spark-lokien käynnistämis- ja lukemisprosessi kohdasta Spark-historiapalvelimen käynnistäminen. Seuraavassa kuvakaappauksessa olemme käynnistäneet paikallisen Docker-säilön, jolla on lupa lukea S3-säilö, joka sisältää lokimme. Valinnaisesti voit isännöidä Amazonin elastinen laskentapilvi (Amazon EC2) -esiintymä tehdäksesi tämän, kuten edellisessä linkitetyssä dokumentaatiossa on kuvattu.

Valmistele dataa suuressa mittakaavassa Amazon SageMaker Studiossa käyttämällä palvelimettomia AWS Glue -interaktiivisia istuntoja PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.

Hinnasto

Kun käytät interaktiivisia AWS Glue -istuntoja Studio-kannettavissa, sinua veloitetaan erikseen resurssien käytöstä AWS Glue- ja Studio-kannettavissa.

AWS veloittaa interaktiivisista AWS Glue -istunnoista sen mukaan, kuinka kauan istunto on aktiivinen ja kuinka monta datankäsittelyyksikköä (DPU) käytetään. Sinulta veloitetaan tuntitaksa työkuormasi suorittamiseen käytettyjen DPU:iden määrästä, laskutetaan 1 sekunnin välein. Interaktiiviset AWS Glue -istunnot määrittävät oletusarvoisesti 5 DPU:ta ja vaativat vähintään 2 DPU:ta. Jokaiselle interaktiiviselle istunnolle on myös 1 minuutin vähimmäislaskutusaika. Jos haluat nähdä AWS-liiman hinnat ja hinnoitteluesimerkit tai arvioida kustannukset AWS-hinnoittelulaskurin avulla, katso AWS-liiman hinnoittelu.

Studio-muistikirjasi toimii EC2-instanssilla, ja sinua veloitetaan valitsemastasi ilmentymätyypistä käytön keston perusteella. Studio määrittää sinulle oletusarvoisen EC2-ilmentymän tyypin ml-t3-medium, kun valitset SparkAnalytics kuva ja siihen liittyvä ydin. Voit muuttaa Studio-muistikirjan ilmentymän tyyppiä työmääräsi mukaan. Katso lisätietoja SageMaker Studion hinnoittelusta Amazon SageMaker -hinnoittelu.

Yhteenveto

Studio-kannettavien integrointi interaktiivisten AWS Glue -istuntojen kanssa mahdollistaa saumattoman ja skaalautuvan palvelimettoman tietojen valmistelun datatieteilijöille ja tietosuunnittelijoille. Suosittelemme kokeilemaan tätä uutta toimintoa Studiossa!

nähdä Valmistele tiedot AWS Glue Interactive Sessions -istunnoilla lisätietoja.


Tietoja kirjoittajista

Sean MorganSean Morgan on vanhempi ML Solutions -arkkitehti AWS:ssä. Hänellä on kokemusta puolijohteiden ja akateemisen tutkimuksen aloilta, ja hän käyttää kokemustaan ​​auttaakseen asiakkaita saavuttamaan tavoitteensa AWS:ssä. Vapaa-ajallaan Sean toimii aktiivisena avoimen lähdekoodin avustajana/ylläpitäjänä ja on TensorFlow Addonsin erityissidosryhmien johtaja.

Valmistele dataa suuressa mittakaavassa Amazon SageMaker Studiossa käyttämällä palvelimettomia AWS Glue -interaktiivisia istuntoja PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.Sumedha Swamy on päätuotepäällikkö Amazon Web Servicesissä. Hän johtaa SageMaker Studio -tiimiä rakentamaan sen interaktiivisten datatieteen ja tietotekniikan työnkulkujen IDE:ksi. Hän on käyttänyt viimeiset 15 vuotta rakentaen asiakaslähtöisiä kuluttaja- ja yritystuotteita koneoppimisen avulla. Vapaa-ajallaan hän tykkää valokuvata Amerikan lounaisosan hämmästyttävää geologiaa.

Aikaleima:

Lisää aiheesta AWS-koneoppiminen