Nagy méretben készítsen elő adatokat az Amazon SageMaker Studio alkalmazásban a kiszolgáló nélküli AWS Glue interaktív PlatoBlockchain Data Intelligence munkamenetekkel. Függőleges keresés. Ai.

Az Amazon SageMaker Studio alkalmazásban kiszolgáló nélküli AWS Glue interaktív munkamenetek segítségével készítsen elő adatokat

Amazon SageMaker Studio az első teljesen integrált fejlesztői környezet (IDE) a gépi tanuláshoz (ML). Egyetlen, webalapú vizuális felületet biztosít, ahol elvégezheti az összes ML fejlesztési lépést, beleértve az adatok előkészítését és a modellek építését, betanítását és telepítését.

AWS ragasztó egy szerver nélküli adatintegrációs szolgáltatás, amely megkönnyíti az adatok felfedezését, előkészítését és kombinálását az elemzéshez, az ML-hez és az alkalmazásfejlesztéshez. Az AWS Glue lehetővé teszi az adatok zökkenőmentes gyűjtését, átalakítását, megtisztítását és tárolásra való előkészítését az adattókban és adatfolyamokban, különféle funkciók segítségével, beleértve beépített transzformációk.

Az adatmérnökök és adattudósok immár interaktív módon, nagy méretekben készíthetik elő az adatokat a Studio notebook beépített integrációjával az AWS Glue által kezelt kiszolgáló nélküli Spark-munkamenetekkel. Másodperceken belül elindul, és üresjáratban automatikusan leállítja a számítást, AWS Glue interaktív munkamenetek igény szerinti, nagymértékben skálázható, kiszolgáló nélküli Spark-háttérrendszert biztosít a skálázható adat-előkészítés eléréséhez a Studio-on belül. Az AWS Glue interaktív munkameneteinek Studio notebookokon való használatának jelentős előnyei a következők:

  • Nincsenek biztosítandó vagy kezelhető fürtök
  • Nincsenek tétlen fürtök, amelyekért fizetni kell
  • Nincs szükség előzetes konfigurációra
  • Nincs erőforrás-verseny ugyanazért a fejlesztői környezetért
  • Pontosan ugyanaz a kiszolgáló nélküli Spark futási környezet és platform, mint az AWS Glue kivonat, átalakítás és betöltés (ETL) feladatok

Ebben a bejegyzésben bemutatjuk, hogyan készíthet elő adatokat nagyarányúan a Studio-ban szerver nélküli AWS Glue interaktív munkamenetekkel.

Megoldás áttekintése

A megoldás megvalósításához a következő magas szintű lépéseket kell végrehajtania:

  1. Frissítse a AWS Identity and Access Management (IAM) szerepkör-engedélyek.
  2. Indítson el egy AWS Glue interaktív munkamenet-kernelt.
  3. Konfigurálja az interaktív munkamenetet.
  4. Szabja személyre interaktív munkamenetét, és futtasson egy méretezhető adat-előkészítési munkaterhelést.

Frissítse IAM-szerepkör-engedélyeit

A kezdéshez frissítenie kell a Studio-felhasználó IAM-végrehajtási szerepkörét a szükséges engedélyekkel. A részletes utasításokért lásd: Engedélyek a Glue interaktív munkameneteihez a SageMaker Studio alkalmazásban.

Először adja hozzá a felügyelt házirendeket a végrehajtási szerepköréhez:

  1. Az IAM konzolon válassza a lehetőséget szerepek a navigációs ablaktáblában.
  2. Keresse meg a használni kívánt Studio-végrehajtási szerepet, és válassza ki a szerepkör nevét, hogy a szerepkör összefoglaló oldalára lépjen.
  3. A Engedélyek lapon, a Engedélyek hozzáadása menüben válasszon Szabályzatok csatolása.
  4. Válassza ki a felügyelt házirendeket AmazonSageMakerFullAccess és a AwsGlueSessionUserRestrictedServiceRole
  5. A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a Szabályzatok csatolása.
    Az összefoglaló oldalon láthatók az újonnan hozzáadott felügyelt házirendek. Most hozzáadhat egy egyéni szabályzatot, és csatolhatja azt a végrehajtási szerepköréhez.
  6. A Engedélyek hozzáadása menüben válasszon Inline szabályzat létrehozása.
  7. A JSON lapon adja meg a következő házirendet:
    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "VisualEditor0",
                "Effect": "Allow",
                "Action": [
                    "iam:GetRole",
                    "iam:PassRole",
                    "sts:GetCallerIdentity"
                ],
                "Resource": "*"
            }
        ]
    }

  8. Szerepköre bizalmi kapcsolatának módosítása:
    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Principal": {
                    "Service": [
                        "glue.amazonaws.com",
                        "sagemaker.amazonaws.com"
                    ]
                },
                "Action": "sts:AssumeRole"
            }
        ]
    }

Indítson el egy AWS Glue interaktív munkamenet-kernelt

Ha már vannak felhasználói a Studio-domainjében, akkor szükség lehet rájuk állítsa le és indítsa újra a Jupyter kiszolgálót hogy felvegye az új notebook kernel képeit.

Újratöltéskor létrehozhat egy új Studio notebookot és válassza ki a kívánt kernelt. A beépített SparkAnalytics 1.0 képnek most elérhetőnek kell lennie, és kiválaszthatja a kívánt AWS Glue kernelt (Ragasztó Scala Spark or Ragasztó PySpark).

Konfigurálja az interaktív munkamenetet

Az inicializálás előtt egyszerűen konfigurálhatja az AWS Glue interaktív munkamenetét notebook cella varázslatokkal. A varázslatok kis parancsok, amelyek a Jupyter-cellák elején % előtaggal vannak ellátva, amelyek parancsikonokat biztosítanak a környezet vezérléséhez. Az AWS Glue interaktív munkameneteiben a varázslatokat minden konfigurációs igényhez használják, beleértve:

  • %vidék – Az AWS-régió, amelyben a munkamenetet inicializálni kell. Az alapértelmezett a Studio régió.
  • %iam_role – A munkamenet futtatásához szükséges ARN IAM-szerep. Az alapértelmezett a felhasználó SageMaker végrehajtási szerepköre.
  • %worker_type - A AWS ragasztómunkás típus. Az alapértelmezett a szabvány.
  • %_of_workers – A munkavégzés során kiosztott munkavállalók száma. Az alapértelmezett az öt.
  • %tétlenségi időtúllépés – Az inaktivitás perceinek száma, amely után a munkamenet időtúllépéssel jár. Az alapértelmezett 2,880 perc.
  • %additional_python_modules – A fürtbe felveendő további Python-modulok vesszővel elválasztott listája. Ez lehet PyPi-ből ill Amazon egyszerű tárolási szolgáltatás (Amazon S3).
  • %%Beállítás – JSON formátumú szótár, amely a következőből áll AWS Glue-specifikus konfigurációs paraméterek egy foglalkozásra.

Az ehhez a kernelhez tartozó konfigurálható mágikus paraméterek átfogó listájához használja a %help varázslat a notebookjában.

Az AWS Glue interaktív munkamenete addig nem indul el, amíg az első nem mágikus cellát le nem futtatják.

Szabja személyre az interaktív munkamenetet, és futtasson egy adat-előkészítési feladatot

Példaként a következő jegyzetfüzetcellák bemutatják, hogyan szabhatja testre az AWS Glue interaktív munkamenetét, és hogyan futtathat méretezhető adat-előkészítési munkaterhelést. Ebben a példában ETL-feladatot hajtunk végre egy adott város levegőminőségi adatainak összesítésére, a nap órái szerint csoportosítva.

A munkamenetünket úgy konfiguráljuk, hogy a Spark-naplókat egy S3 tárolóba mentsük a valós idejű hibakereséshez, amelyet ebben a bejegyzésben később láthatunk. Győződjön meg arról, hogy a iam_role amely az AWS Glue-munkamenetet futtatja, írási hozzáféréssel rendelkezik a megadott S3 tárolóhoz.

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

Ezután közvetlenül az Amazon S3-ból töltjük be az adatkészletünket. Alternatív megoldásként megtehetnéd töltse be az adatokat az AWS ragasztóadat-katalógusával.

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

Végül írjuk az átalakított adatkészletünket egy általunk meghatározott kimeneti vödör helyre:

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

Miután befejezte a munkát, azonnal befejezheti az AWS Glue interaktív munkamenetét egyszerűen leállíthatja a Studio notebook kernelt, vagy használhatja a %stop_session varázslat.

Hibakeresés és Spark UI

Az előző példában megadtuk a ”--enable-spark-ui”: “true” érvelés együtt a "--spark-event-logs-path": location. Ez beállítja az AWS Glue munkamenetünket a munkamenetnaplók rögzítésére, így egy Spark UI segítségével valós időben figyelhetjük meg és hibakereshetjük az AWS Glue-feladatunkat.

A Spark-naplók elindításának és olvasásának folyamatát lásd: A Spark előzménykiszolgáló indítása. A következő képernyőképen elindítottunk egy helyi Docker-tárolót, amely jogosult a naplóinkat tartalmazó S3-tároló olvasására. Opcionálisan fogadhat egy Amazon rugalmas számítási felhő (Amazon EC2).

Nagy méretben készítsen elő adatokat az Amazon SageMaker Studio alkalmazásban a kiszolgáló nélküli AWS Glue interaktív PlatoBlockchain Data Intelligence munkamenetekkel. Függőleges keresés. Ai.

Árazás

Ha AWS Glue interaktív munkameneteket használ Studio-jegyzetfüzeteken, külön díjat kell fizetnie az AWS Glue és a Studio notebookokon történő erőforráshasználatért.

Az AWS díjat számít fel az AWS Glue interaktív munkameneteiért a munkamenet aktív időtartama és a felhasznált adatfeldolgozási egységek (DPU) száma alapján. Óradíjat kell fizetnie a munkaterhelések futtatásához használt DPU-k számáért, 1 másodperces lépésekben. Az AWS Glue interaktív munkamenetei alapértelmezés szerint 5 DPU-t rendelnek hozzá, és legalább 2 DPU-t igényelnek. Minden interaktív munkamenethez 1 perces minimális számlázási időtartam is tartozik. Ha meg szeretné tekinteni az AWS Glue díjait és árazási példákat, vagy meg szeretné becsülni költségeit az AWS árkalkulátor segítségével, lásd: AWS ragasztó ára.

A Studio-jegyzetfüzet EC2-példányon fut, és a választott példánytípusért kell fizetnie, a használat időtartama alapján. A Studio az ml-t2-medium alapértelmezett EC3 példánytípusát rendeli hozzá, amikor kiválasztja a SparkAnalytics kép és a hozzá tartozó kernel. Munkaterhelésének megfelelően módosíthatja a Studio-jegyzetfüzet példánytípusát. A SageMaker Studio árképzésével kapcsolatos információkért lásd: Amazon SageMaker árképzés.

Következtetés

A Studio notebookok és az AWS Glue interaktív munkamenetek natív integrációja megkönnyíti az adattudósok és adatmérnökök zökkenőmentes és méretezhető szerver nélküli adat-előkészítését. Javasoljuk, hogy próbálja ki ezt az új funkciót a Studioban!

Lát Készítse elő az adatokat az AWS Glue Interactive Sessions segítségével további információért.


A szerzőkről

Sean MorganSean Morgan az AWS vezető ML Solutions építésze. Tapasztalattal rendelkezik a félvezetők és az akadémiai kutatás területén, és tapasztalatait arra használja fel, hogy segítse ügyfeleit céljaik elérésében az AWS-ben. Szabadidejében Sean aktív nyílt forráskódú közreműködő/karbantartó, és a TensorFlow Addons speciális érdekcsoportjának vezetője.

Nagy méretben készítsen elő adatokat az Amazon SageMaker Studio alkalmazásban a kiszolgáló nélküli AWS Glue interaktív PlatoBlockchain Data Intelligence munkamenetekkel. Függőleges keresés. Ai.Sumedha Swamy az Amazon Web Services fő termékmenedzsere. Ő vezeti a SageMaker Studio csapatát, hogy beépítse az interaktív adattudományi és adatmérnöki munkafolyamatok választott IDE-jébe. Az elmúlt 15 évben az ügyfelek megszállottja fogyasztói és vállalati termékek gyártásával töltötte a Machine Learning segítségével. Szabadidejében szívesen fényképezi az amerikai délnyugat csodálatos geológiáját.

Időbélyeg:

Még több AWS gépi tanulás