Pripravite podatke v velikem obsegu v Amazon SageMaker Studio z uporabo brezstrežniških interaktivnih sej AWS Glue PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Pripravite podatke v velikem obsegu v Amazon SageMaker Studio z uporabo brezstrežniških interaktivnih sej AWS Glue

Amazon SageMaker Studio je prvo popolnoma integrirano razvojno okolje (IDE) za strojno učenje (ML). Zagotavlja enoten spletni vizualni vmesnik, kjer lahko izvajate vse razvojne korake ML, vključno s pripravo podatkov in gradnjo, usposabljanjem in uvajanjem modelov.

AWS lepilo je storitev integracije podatkov brez strežnika, ki olajša odkrivanje, pripravo in združevanje podatkov za analitiko, strojno učenje in razvoj aplikacij. AWS Glue vam omogoča brezhibno zbiranje, preoblikovanje, čiščenje in pripravo podatkov za shranjevanje v vaših podatkovnih jezerih in podatkovnih cevovodih z uporabo različnih zmogljivosti, vključno z vgrajene transformacije.

Podatkovni inženirji in podatkovni znanstveniki lahko zdaj interaktivno pripravljajo podatke v velikem obsegu z uporabo vgrajene integracije prenosnika Studio z brezstrežniškimi sejami Spark, ki jih upravlja AWS Glue. Zagon v nekaj sekundah in samodejno zaustavitev računanja, ko je nedejaven, Interaktivne seje AWS Glue zagotoviti visoko razširljivo zaledje Spark brez strežnika na zahtevo za doseganje razširljive priprave podatkov v Studiu. Pomembne prednosti uporabe interaktivnih sej AWS Glue na prenosnih računalnikih Studio vključujejo:

  • Ni gruč za zagotavljanje ali upravljanje
  • Ni prostih gruč, ki bi jih bilo treba plačati
  • Vnaprejšnja konfiguracija ni potrebna
  • Brez spora glede virov za isto razvojno okolje
  • Popolnoma enako izvajalno okolje in platforma Spark brez strežnika kot opravila pridobivanja, preoblikovanja in nalaganja (ETL) AWS Glue

V tej objavi vam pokažemo, kako pripraviti podatke v velikem obsegu v Studiu z uporabo interaktivnih sej AWS Glue brez strežnika.

Pregled rešitev

Če želite implementirati to rešitev, opravite naslednje korake na visoki ravni:

  1. Posodobite svoj AWS upravljanje identitete in dostopa (IAM) dovoljenja za vlogo.
  2. Zaženite jedro interaktivne seje AWS Glue.
  3. Konfigurirajte svojo interaktivno sejo.
  4. Prilagodite svojo interaktivno sejo in zaženite razširljivo delovno obremenitev za pripravo podatkov.

Posodobite dovoljenja za vlogo IAM

Za začetek morate posodobiti vlogo izvajanja IAM uporabnika Studia z zahtevanimi dovoljenji. Za podrobna navodila glejte Dovoljenja za interaktivne seje Glue v SageMaker Studio.

Svoji izvršilni vlogi najprej dodate upravljane pravilnike:

  1. Na konzoli IAM izberite vloge v podoknu za krmarjenje.
  2. Poiščite izvajalsko vlogo Studio, ki jo boste uporabili, in izberite ime vloge, da odprete stran s povzetkom vloge.
  3. o Dovoljenja zavihek, na Dodajte dovoljenja izberite meni Priložite pravilnike.
  4. Izberite upravljane pravilnike AmazonSageMakerFullAccess in AwsGlueSessionUserRestrictedServiceRole
  5. Izberite Priložite pravilnike.
    Stran s povzetkom prikazuje vaše na novo dodane upravljane pravilnike. Zdaj dodate pravilnik po meri in ga priložite svoji izvajalski vlogi.
  6. o Dodajte dovoljenja izberite meni Ustvari vgrajeno politiko.
  7. o JSON vnesite naslednji pravilnik:
    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "VisualEditor0",
                "Effect": "Allow",
                "Action": [
                    "iam:GetRole",
                    "iam:PassRole",
                    "sts:GetCallerIdentity"
                ],
                "Resource": "*"
            }
        ]
    }

  8. Spremenite odnos zaupanja svoje vloge:
    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Principal": {
                    "Service": [
                        "glue.amazonaws.com",
                        "sagemaker.amazonaws.com"
                    ]
                },
                "Action": "sts:AssumeRole"
            }
        ]
    }

Zaženite jedro interaktivne seje AWS Glue

Če že imate obstoječe uporabnike znotraj svoje domene Studio, jih boste morda morali imeti zaustaviti in znova zagnati njihov Jupyter Server da prevzamete nove slike jedra prenosnika.

Po ponovnem nalaganju lahko ustvarite nov zvezek Studio in izberite želeno jedro. Vgrajen SparkAnalytics 1.0 slika bi morala biti zdaj na voljo in lahko izberete želeno jedro AWS Glue (Lepilo Scala Spark or Lepilo PySpark).

Konfigurirajte svojo interaktivno sejo

Svojo interaktivno sejo AWS Glue lahko preprosto konfigurirate z notebook cell magics pred inicializacijo. Čarovnije so majhni ukazi s predpono % na začetku celic Jupyter, ki nudijo bližnjice za nadzor okolja. V interaktivnih sejah AWS Glue se magije uporabljajo za vse konfiguracijske potrebe, vključno z:

  • % regija – Regija AWS, v kateri želite inicializirati sejo. Privzeto je Studio Region.
  • %iam_role – Vloga IAM ARN za vodenje vaše seje. Privzeta je uporabniška izvajalska vloga SageMaker.
  • %worker_type - Tip AWS Glue worker. Privzeto je standardno.
  • %število_delavcev – Število delavcev, ki so dodeljeni, ko se delo izvaja. Privzeto je pet.
  • %idle_timeout – Število minut nedejavnosti, po katerem bo seja potekla. Privzeto je 2,880 minut.
  • %dodatni_python_moduli – Z vejicami ločen seznam dodatnih modulov Python, ki jih želite vključiti v vašo gručo. To je lahko iz PyPi oz Preprosta storitev shranjevanja Amazon (Amazon S3).
  • %%konfiguriraj – Slovar v obliki JSON, sestavljen iz Konfiguracijski parametri, specifični za AWS Glue za sejo.

Za izčrpen seznam nastavljivih čarobnih parametrov za to jedro uporabite %help magijo v vašem zvezku.

Vaša interaktivna seja AWS Glue se ne bo začela, dokler se ne zažene prva celica, ki ni čarobna.

Prilagodite svojo interaktivno sejo in zaženite delovno obremenitev za pripravo podatkov

Naslednje celice zvezka na primer prikazujejo, kako lahko prilagodite svojo interaktivno sejo AWS Glue in zaženete razširljivo delovno obremenitev za pripravo podatkov. V tem primeru izvedemo nalogo ETL za združevanje podatkov o kakovosti zraka za dano mesto, združevanje po urah v dnevu.

Našo sejo konfiguriramo tako, da shrani naše dnevnike Spark v vedro S3 za odpravljanje napak v realnem času, kar vidimo kasneje v tej objavi. Bodite prepričani, da iam_role ki izvaja vašo sejo AWS Glue, ima dostop za pisanje v navedeno vedro S3.

%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/"
}

Nato naložimo naš nabor podatkov neposredno iz Amazon S3. Druga možnost je, da bi lahko naložite podatke s svojim katalogom podatkov AWS Glue.

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}/*")

Na koncu zapišemo naš transformirani nabor podatkov na lokacijo izhodnega vedra, ki smo jo definirali:

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")

Ko končate svoje delo, lahko svojo interaktivno sejo AWS Glue takoj končate tako, da preprosto zaustavite jedro prenosnega računalnika Studio ali pa uporabite %stop_session magija.

Odpravljanje napak in uporabniški vmesnik Spark

V prejšnjem primeru smo določili ”--enable-spark-ui”: “true” argument skupaj z a "--spark-event-logs-path": location. To konfigurira našo sejo AWS Glue za beleženje dnevnikov sej, tako da lahko uporabimo uporabniški vmesnik Spark za spremljanje in odpravljanje napak našega opravila AWS Glue v realnem času.

Za postopek za zagon in branje teh dnevnikov Spark glejte Zagon strežnika zgodovine Spark. Na naslednjem posnetku zaslona smo zagnali lokalni vsebnik Docker, ki ima dovoljenje za branje vedra S3, ki vsebuje naše dnevnike. Po želji lahko gostite Amazonski elastični računalniški oblak (Amazon EC2), da to storite, kot je opisano v prejšnji povezani dokumentaciji.

Pripravite podatke v velikem obsegu v Amazon SageMaker Studio z uporabo brezstrežniških interaktivnih sej AWS Glue PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Cenitev

Ko uporabljate interaktivne seje AWS Glue v prenosnikih Studio, vam zaračunamo ločeno uporabo virov v prenosnikih AWS Glue in Studio.

AWS zaračunava interaktivne seje AWS Glue glede na to, kako dolgo je seja aktivna in število uporabljenih enot za obdelavo podatkov (DPU). Zaračunamo vam urno postavko za število DPU-jev, ki se uporabljajo za izvajanje vaših delovnih obremenitev, zaračunano v korakih po 1 sekundo. Interaktivne seje AWS Glue dodelijo privzeto 5 DPU-jev in zahtevajo najmanj 2 DPU-ja. Obstaja tudi minimalno trajanje obračunavanja 1 minute za vsako interaktivno sejo. Če si želite ogledati stopnje lepila AWS in primere cen ali oceniti svoje stroške z uporabo kalkulatorja cen AWS, glejte Cene lepila AWS.

Vaš prenosni računalnik Studio deluje na instanci EC2 in zaračunali vam bomo vrsto instance, ki jo izberete, glede na trajanje uporabe. Studio vam dodeli privzeto vrsto primerka EC2 ml-t3-medij, ko izberete SparkAnalytics slika in povezano jedro. Vrsto primerka prenosnega računalnika Studio lahko spremenite tako, da ustreza vaši delovni obremenitvi. Za informacije o cenah SageMaker Studio glejte Cene Amazon SageMaker.

zaključek

Izvorna integracija prenosnih računalnikov Studio z interaktivnimi sejami AWS Glue omogoča brezhibno in razširljivo pripravo podatkov brez strežnika za podatkovne znanstvenike in podatkovne inženirje. Priporočamo vam, da preizkusite to novo funkcionalnost v Studiu!

Poglej Pripravite podatke z uporabo AWS Glue Interactive Sessions za več informacij.


O avtorjih

Sean MorganSean Morgan je višji arhitekt za rešitve ML pri AWS. Ima izkušnje na področju polprevodnikov in akademskih raziskav ter svoje izkušnje uporablja za pomoč strankam pri doseganju njihovih ciljev na AWS. V prostem času Sean aktivno prispeva/vzdržuje odprtokodni program in je vodja posebne interesne skupine za TensorFlow Addons.

Pripravite podatke v velikem obsegu v Amazon SageMaker Studio z uporabo brezstrežniških interaktivnih sej AWS Glue PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.Sumedha Swamy je glavni produktni vodja pri Amazon Web Services. Vodi ekipo SageMaker Studio, da ga vgradi v izbrano IDE za interaktivno podatkovno znanost in delovne tokove podatkovnega inženiringa. Zadnjih 15 let je s pomočjo strojnega učenja gradil potrošniške in poslovne izdelke, obsedene s strankami. V prostem času rad fotografira neverjetno geologijo ameriškega jugozahoda.

Časovni žig:

Več od Strojno učenje AWS