Gyorsítsa fel az ML fejlesztést a SageMaker Feature Store és az Apache Iceberg offline áruháztömörítés PlatoBlockchain Data Intelligence segítségével. Függőleges keresés. Ai.

Gyorsítsa fel az ML fejlesztést a SageMaker Feature Store és az Apache Iceberg offline bolttömörítés segítségével

Napjainkban a vállalatok szolgáltatásboltokat hoznak létre, hogy központi adattárat biztosítsanak az ML-fejlesztések skálázásához az üzleti egységek és az adattudományi csapatok között. A szolgáltatások adatainak méretének és összetettségének növekedésével az adattudósoknak képesnek kell lenniük arra, hogy hatékonyan lekérdezzék ezeket a szolgáltatástárolókat, hogy adatkészleteket kinyerhessenek kísérletezéshez, modellképzéshez és kötegelt pontozáshoz.

Amazon SageMaker Feature Store egy erre a célra épített funkciókezelési megoldás, amely segít az adattudósoknak és az ML mérnököknek biztonságosan tárolni, felfedezni és megosztani a képzési és előrejelzési munkafolyamatokban használt, válogatott adatokat. A SageMaker Feature Store mostantól támogatja Apache jéghegy táblázatformátumként a szolgáltatások tárolására. Ez felgyorsítja a modellfejlesztést azáltal, hogy gyorsabb lekérdezési teljesítményt tesz lehetővé az ML képzési adatkészletek kinyerésekor, kihasználva az Iceberg tábla tömörítését. A szolgáltatáscsoportok kialakításától és méretüktől függően ennek az új képességnek a használatával 10-100-szoros növekedést tapasztalhat a képzési lekérdezések teljesítményében.

A bejegyzés végére tudni fogja, hogyan hozhat létre szolgáltatáscsoportokat az Iceberg formátum használatával, hogyan hajthatja végre az Iceberg táblakezelési eljárásait a Amazon Athéné, és ütemezze be ezeket a feladatokat önálló futtatásra. Ha Ön Spark-felhasználó, azt is megtanulhatja, hogyan hajthatja végre ugyanazokat az eljárásokat a Spark használatával, és hogyan építheti be őket saját Spark-környezetébe és automatizálásába.

SageMaker Feature Store és Apache Iceberg

Amazon SageMaker Feature Store a szolgáltatások és a kapcsolódó metaadatok központosított tárolója, amely lehetővé teszi a funkciók könnyű felfedezését és újrafelhasználását a különböző projekteken vagy ML modelleken dolgozó adattudós csapatok számára.

A SageMaker Feature Store egy online és egy offline módból áll a funkciók kezeléséhez. Az online áruház alacsony késleltetésű valós idejű következtetési felhasználási esetekre szolgál. Az offline áruház elsősorban kötegelőrejelzésekre és modellképzésre szolgál. Az offline áruház csak hozzáfűzhető, és felhasználható a szolgáltatás előzményadatainak tárolására és elérésére. Az offline áruházban a felhasználók tárolhatnak és szolgálhatnak ki funkciókat a feltáráshoz és a kötegelt pontozáshoz, valamint pont-időben helyes adatkészleteket nyerhetnek ki a modellképzéshez.

Az offline áruház adatait az Amazon Simple Storage Service (Amazon S3) tárolóban tárolja az AWS-fiókjában. A SageMaker Feature Store automatikusan létrehoz egy AWS ragasztóadat-katalógust a szolgáltatáscsoport létrehozása során. Az ügyfelek offline tárolási adatokhoz is hozzáférhetnek a Spark futtatókörnyezet használatával, és nagy adatfeldolgozást hajthatnak végre az ML-funkcióelemzés és a funkciótervezés felhasználási eseteihez.

A táblázatformátumok lehetőséget adnak az adatfájlok táblázatként való absztrakciójára. Az évek során számos táblázatformátum jelent meg az ACID-tranzakciók, irányítási és katalógushasználati esetek támogatására. Apache jéghegy egy nyílt táblázatformátum nagyon nagy analitikai adatkészletekhez. Táblázatként kezeli a fájl nagy gyűjteményét, és támogatja a modern analitikai adattó-műveleteket, például rekordszintű beszúrási, frissítési, törlési és időutazási lekérdezéseket. Az Iceberg az egyes adatfájlokat egy táblázatban követi nyomon, nem pedig könyvtárakban. Ez lehetővé teszi az írók számára, hogy adatfájlokat hozzanak létre a helyükön (a fájlok nem kerülnek áthelyezésre vagy módosításra), és csak explicit véglegesítéskor adják hozzá a fájlokat a táblához. A táblázat állapotát a metaadatfájlok tartják fenn. A táblázat állapotának minden módosítása egy új metaadatfájl-verziót hoz létre, amely atomi szinten lecseréli a régebbi metaadatokat. A tábla metaadatfájlja nyomon követi a táblázatsémát, a particionálási konfigurációt és egyéb tulajdonságokat.

Az Iceberg az AWS-szolgáltatásokkal integráltan működik. Használhatja például a AWS ragasztó Adatkatalógus, mint az Iceberg táblák metastore, és Athéné támogatja az olvasási, időutazási, írási és DDL-lekérdezéseket az Apache Iceberg táblákhoz, amelyek az Apache Parquet formátumot használják az adatokhoz és az AWS Glue katalógust a metatárukhoz.

A SageMaker Feature Store segítségével az alapértelmezett szabványos ragasztóformátum alternatívájaként Iceberg táblázatformátummal is létrehozhat szolgáltatáscsoportokat. Ezzel az ügyfelek kihasználhatják az új táblázatformátumot az Iceberg fájltömörítési és adatmetszési funkcióinak használatában, hogy megfeleljenek használati esetüknek és optimalizálási követelményeiknek. Az Iceberg emellett lehetővé teszi az ügyfelek számára a törlési, az időutazási lekérdezések, a nagy egyidejű tranzakciók és a nagyobb teljesítményű lekérdezések végrehajtását.

Az Iceberg mint táblázatformátum és a táblakarbantartási műveletek, például a tömörítés kombinálásával az ügyfelek gyorsabb lekérdezési teljesítményt érnek el, amikor nagyszabású offline szolgáltatáscsoportokkal dolgoznak, így gyorsabban hozhatnak létre ML képzési adatkészleteket.

A következő diagram az offline áruház felépítését mutatja Iceberg táblázatformátumban.

A következő szakaszokban megtudhatja, hogyan hozhat létre szolgáltatáscsoportokat az Iceberg formátum használatával, hogyan hajthatja végre az Iceberg táblakezelési eljárásait az AWS Athena használatával, és hogyan használhatja az AWS-szolgáltatásokat a feladatok igény szerinti vagy ütemezett futtatására. Ha Ön Spark-felhasználó, azt is megtanulja, hogyan hajthatja végre ugyanazokat az eljárásokat a Spark használatával.

A lépésről lépésre mutató utasításokhoz a mintafüzet, amely a GitHubban található. Ebben a bejegyzésben a legfontosabb részeket emeljük ki.

Szolgáltatáscsoportok létrehozása Iceberg táblázat formátum használatával

Új jellemzőcsoportok létrehozásakor először ki kell választania az Iceberget táblázatformátumként. Új opcionális paraméter TableFormat beállítható interaktívan az Amazon SageMaker Studio használatával vagy kódon keresztül az API vagy az SDK használatával. Ez a paraméter elfogadja az értékeket ICEBERG or GLUE (a jelenlegi AWS Glue formátumhoz). A következő kódrészlet bemutatja, hogyan hozhat létre jellemzőcsoportot az Iceberg formátum és FeatureGroup.create A SageMaker SDK API-ja.

orders_feature_group_iceberg.create(
s3_uri=f"s3://{s3_bucket_name}/{prefix}",
record_identifier_name=record_identifier_feature_name,
event_time_feature_name=event_time_feature_name,
role_arn=role,
enable_online_store=True,
table_format=TableFormatEnum.ICEBERG
)

A táblázat automatikusan létrejön és regisztrálásra kerül az AWS ragasztóadat-katalógusában.

Most, hogy a orders_feature_group_iceberg létrejön, akkor a kiválasztott feldolgozási folyamat segítségével feldolgozhat funkciókat. Ebben a példában a rekordokat a FeatureGroup.ingest() API, amely egy Pandas DataFrame-ből veszi fel a rekordokat. Használhatja továbbá a FeatureGroup().put_record API egyedi rekordok feldolgozásához vagy adatfolyam-források kezeléséhez. A Spark-felhasználók a mi Spark-adatkereteinket is feldolgozhatják Szikracsatlakozó.

orders_fg = FeatureGroup(name=orders_feature_group_iceberg_name,
sagemaker_session=feature_store_session)
orders_fg.ingest(data_frame=order_data, wait=True)

Ellenőrizheti, hogy a rekordok feldolgozása sikeresen megtörtént, ha lekérdezést futtat az offline szolgáltatástárolóban. Az S3 helyre navigálhat, és megtekintheti az új mappaszerkezetet.

Gyorsítsa fel az ML fejlesztést a SageMaker Feature Store és az Apache Iceberg offline áruháztömörítés PlatoBlockchain Data Intelligence segítségével. Függőleges keresés. Ai.

Iceberg tábla kezelési eljárások végrehajtása

Amazon Athéné egy kiszolgáló nélküli SQL lekérdező motor, amely natívan támogatja az Iceberg felügyeleti eljárásokat. Ebben a részben az Athena segítségével manuálisan tömörítheti a létrehozott offline szolgáltatáscsoportot. Ne feledje, hogy az Athena motor 3-as verzióját kell használnia. Ehhez létrehozhat egy új munkacsoportot, vagy konfigurálhat egy meglévő munkacsoportot, és kiválaszthatja az ajánlott Athena motor 3-as verzióját. Az Athena motor verziójának módosításával kapcsolatos további információkért és utasításokért lásd: Az Athena motorverziók módosítása.

Ahogy az adatok egy Iceberg táblában gyűlnek össze, a lekérdezések fokozatosan kevésbé hatékonyak lehetnek, mivel a további fájlok megnyitásához szükséges megnövekedett feldolgozási idő. A tömörítés optimalizálja a táblázat szerkezeti elrendezését a táblázat tartalmának megváltoztatása nélkül.

A tömörítés végrehajtásához használja a OPTIMIZE table REWRITE DATA tömörítési táblázat karbantartási parancsa az Athénában. A következő szintaxis bemutatja, hogyan optimalizálhatja az Iceberg táblázat formátumban tárolt jellemzőcsoportok adatelrendezését. A sagemaker_featurestore a SageMaker Feature Store adatbázis nevét képviseli, és orders-feature-group-iceberg-post-comp-03-14-05-17-1670076334 a szolgáltatáscsoport táblázatunk neve.

OPTIMIZE sagemaker_featurestore.orders-feature-group-iceberg-post-comp-03-14-05-17-1670076334 REWRITE DATA USING BIN_PACK

Az optimize parancs futtatása után használja a VACUUM eljárást, amely végrehajtja a pillanatfelvétel lejáratát és eltávolítja az árva fájlokat. Ezek a műveletek csökkentik a metaadatok méretét, és eltávolítják azokat a fájlokat, amelyek nem az aktuális táblaállapotban vannak, és régebbiek is, mint a táblához megadott megőrzési időszak.

VACUUM sagemaker_featurestore.orders-feature-group-iceberg-post-comp-03-14-05-17-1670076334

Vegye figyelembe, hogy a táblázat tulajdonságai az Athena segítségével konfigurálhatók ALTER TABLE. Ennek végrehajtására lásd a Athena dokumentáció. VÁKUUM esetén, vacuum_min_snapshots_to_keep és a vacuum_max_snapshot_age_seconds pillanatkép-metszés paramétereinek konfigurálására használható.

Vessünk egy pillantást a tömörítés futtatásának teljesítményre gyakorolt ​​hatására egy minta jellemzőcsoport-táblázaton. Tesztelési célból ugyanazokat a rendelések jellemzőrekordjait két jellemzőcsoportba foglaltuk, orders-feature-group-iceberg-pre-comp-02-11-03-06-1669979003 és a orders-feature-group-iceberg-post-comp-03-14-05-17-1670076334, egy párhuzamos SageMaker feldolgozási feladatot használ a Scikit-Learn segítségével, ami 49,908,135 3 106.5 objektumot eredményez az Amazon SXNUMX-ban, és összesen XNUMX GiB méretű.

Lekérdezést futtatunk a legfrissebb pillanatkép kiválasztásához, ismétlődések és törölt rekordok nélkül a szolgáltatáscsoportban orders-feature-group-iceberg-pre-comp-02-11-03-06-1669979003. A tömörítés előtt a lekérdezés 1 óra 27 percet vett igénybe.

Gyorsítsa fel az ML fejlesztést a SageMaker Feature Store és az Apache Iceberg offline áruháztömörítés PlatoBlockchain Data Intelligence segítségével. Függőleges keresés. Ai.

Ezután folytatjuk a tömörítést orders-feature-group-iceberg-post-comp-03-14-05-17-1670076334 az Athena OPTIMIZE lekérdezéssel, amely a szolgáltatáscsoport-táblázatot 109,851 3 objektumra tömörítette az Amazon S2.5-ban, és összesen 1 GiB méretű. Ha ezután futtatjuk ugyanazt a lekérdezést a tömörítés után, a futásideje 13 perc XNUMX másodpercre csökkent.

Gyorsítsa fel az ML fejlesztést a SageMaker Feature Store és az Apache Iceberg offline áruháztömörítés PlatoBlockchain Data Intelligence segítségével. Függőleges keresés. Ai.

Az Iceberg fájltömörítéssel a lekérdezés végrehajtási ideje jelentősen javult. Ugyanezen lekérdezés esetén a futási idő 1 óra 27 percről 1 perc 13 másodpercre csökkent, ami 71-szer gyorsabb.

Iceberg tömörítés ütemezése AWS szolgáltatásokkal

Ebben a részben megtudhatja, hogyan automatizálhatja a táblázatkezelési eljárásokat az offline szolgáltatástároló tömörítéséhez. A következő diagram bemutatja a szolgáltatáscsoportok Iceberg tábla formátumban történő létrehozásának architektúráját és egy teljesen automatizált táblakezelési megoldást, amely magában foglalja a fájltömörítési és -tisztítási műveleteket.

Gyorsítsa fel az ML fejlesztést a SageMaker Feature Store és az Apache Iceberg offline áruháztömörítés PlatoBlockchain Data Intelligence segítségével. Függőleges keresés. Ai.

Magas szinten létrehozhat egy jellemzőcsoportot az Iceberg táblázat formátum használatával, és a rekordokat beillesztheti az online szolgáltatásáruházba. A funkcióértékek automatikusan replikálódnak az online áruházból a korábbi offline áruházba. Az Athénét a Jéghegy kezelési eljárások futtatására használják. Az eljárások ütemezéséhez be kell állítani egy AWS ragasztó feladatot egy Python shell szkript segítségével, és hozzon létre egy AWS Glue feladatütemezést.

AWS ragasztófeladat beállítása

Egy AWS ragasztófeladatot használ az Iceberg tábla karbantartási műveleteinek ütemezett végrehajtásához. Először is létre kell hoznia egy IAM-szerepkört az AWS Glue számára, hogy jogosult legyen az Amazon Athena, az Amazon S3 és a CloudWatch eléréséhez.

Ezután létre kell hoznia egy Python-szkriptet az Iceberg-eljárások futtatásához. Megtalálhatja a minta szkript a GitHubban. A szkript végrehajtja az OPTIMALIZÁLÁS lekérdezést a boto3 használatával.

optimize_sql = f"optimize {database}.{table} rewrite data using bin_pack"

A szkriptet az AWS Glue segítségével paraméterezték getResolvedOptions(args, options) segédprogram, amely hozzáférést biztosít a szkriptnek átadott argumentumokhoz egy feladat futtatásakor. Ebben a példában az AWS-régió, a szolgáltatáscsoport Iceberg-adatbázisa és táblázata, az Athena-munkacsoport és az Athena kimeneti hely eredménymappája paraméterként átadható a feladatnak, így ez a szkript újrafelhasználhatóvá válik a környezetben.

Végül létrehozza a tényleges AWS Glue feladatot, hogy a szkriptet shell-ként futtassa az AWS Glue-ban.

  • Navigáljon az AWS Glue konzolhoz.
  • Válassza a Állások lapon az AWS Glue Studio alatt.
  • választ Python Shell szkriptszerkesztő.
  • 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 Töltsön fel és szerkesszen egy meglévő szkriptet. Kattints Teremt.
  • A Munka részletei gomb segítségével konfigurálhatja az AWS ragasztófeladatot. Ki kell választania a korábban létrehozott IAM-szerepet. Válassza ki Python 3.9 vagy a legújabb elérhető Python verzió.
  • Ugyanezen a lapon számos egyéb konfigurációs lehetőséget is megadhat, mint pl Az újrapróbálkozások száma or Munkaidőtúllépés. -ban Speciális tulajdonságok, felvehet feladatparamétereket a szkript végrehajtásához, amint az az alábbi példa képernyőképen látható.
  • Kattints Megtakarítás.

Gyorsítsa fel az ML fejlesztést a SageMaker Feature Store és az Apache Iceberg offline áruháztömörítés PlatoBlockchain Data Intelligence segítségével. Függőleges keresés. Ai.

A menetrendek lapon megadhatja a szolgáltatástároló karbantartási eljárásainak ütemezését. A következő képernyőkép például bemutatja, hogyan futtassa a munkát 6 óránkénti ütemezés szerint.

Gyorsítsa fel az ML fejlesztést a SageMaker Feature Store és az Apache Iceberg offline áruháztömörítés PlatoBlockchain Data Intelligence segítségével. Függőleges keresés. Ai.

Figyelemmel kísérheti a feladatok futtatását, hogy megértse a futásidejű mutatókat, például a befejezési állapotot, az időtartamot és a kezdési időt. Az AWS ragasztófeladat CloudWatch naplóiban is ellenőrizheti, hogy az eljárások sikeresen futnak-e.

Gyorsítsa fel az ML fejlesztést a SageMaker Feature Store és az Apache Iceberg offline áruháztömörítés PlatoBlockchain Data Intelligence segítségével. Függőleges keresés. Ai.

Iceberg táblakezelési feladatok végrehajtása Spark segítségével

Az ügyfelek a Spark segítségével kezelhetik a tömörítési munkákat és a karbantartási módszereket is. A Spark eljárásokkal kapcsolatos további részletekért lásd a Spark dokumentáció.

Először be kell állítania néhány közös tulajdonságot.

%%configure -f
{
  "conf": {
    "spark.sql.catalog.smfs": "org.apache.iceberg.spark.SparkCatalog",
    "spark.sql.catalog.smfs.catalog-impl": "org.apache.iceberg.aws.glue.GlueCatalog",
    "spark.sql.catalog.smfs.warehouse": "",
    "spark.sql.extensions":"org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions",
    "spark.sql.catalog.smfs.glue.skip-name-validation": "true"
  }
}

A következő kód használható a szolgáltatáscsoportok Sparkon keresztüli optimalizálására.

spark.sql(f"""CALL smfs.system.rewrite_data_files(table => '{DATABASE}.`{ICEBERG_TABLE}`')""")

Ezután végrehajthatja a következő két táblakarbantartási eljárást a régebbi pillanatképek és árva fájlok eltávolításához, amelyekre már nincs szükség.

spark.sql(f"""CALL smfs.system.expire_snapshots(table => '{DATABASE}.`{ICEBERG_TABLE}`', older_than => TIMESTAMP '{one_day_ago}', retain_last => 1)""")
spark.sql(f"""CALL smfs.system.remove_orphan_files(table => '{DATABASE}.`{ICEBERG_TABLE}`')""")

Ezután beépítheti a fenti Spark-parancsokat a Spark-környezetbe. Létrehozhat például egy olyan feladatot, amely a fenti optimalizálást a kívánt ütemezés szerint vagy folyamatban, a feldolgozás után hajtja végre.

A teljes kódpélda felfedezéséhez és a saját fiókjában való kipróbálásához tekintse meg a GitHub repo.

Következtetés

A SageMaker Feature Store egy erre a célra kialakított szolgáltatáskezelési megoldást kínál, amely segíti a szervezeteket az ML-fejlesztések adattudományi csoportokon belüli méretezésében. Ebben a bejegyzésben elmagyaráztuk, hogyan használhatja ki az Apache Iceberget táblaformátumként és táblakarbantartási műveleteket, például a tömörítést, hogy a lényegesen gyorsabb lekérdezések előnyeit élvezhesse az offline szolgáltatáscsoportokkal végzett nagyszabású munka során, és ennek eredményeként a képzési adatkészletek gyorsabb összeállítása. Próbálja ki, és ossza meg velünk, mit gondol a megjegyzésekben.


A szerzőkről

Gyorsítsa fel az ML fejlesztést a SageMaker Feature Store és az Apache Iceberg offline áruháztömörítés PlatoBlockchain Data Intelligence segítségével. Függőleges keresés. Ai.Arnaud Lauer Senior Partner Solutions Architect az AWS Public Sector csapatában. Lehetővé teszi a partnerek és az ügyfelek számára, hogy megértsék, hogyan használhatják a legjobban az AWS-technológiákat az üzleti igények megoldásokká alakítására. Több mint 17 éves tapasztalattal rendelkezik digitális átalakítási projektek megvalósításában és tervezésében számos iparágban, beleértve a közszférát, az energiát és a fogyasztási cikkeket. Arnaud 12 AWS minősítéssel rendelkezik, beleértve az ML Specialty Certificationt is.

Gyorsítsa fel az ML fejlesztést a SageMaker Feature Store és az Apache Iceberg offline áruháztömörítés PlatoBlockchain Data Intelligence segítségével. Függőleges keresés. Ai.Ioan Catana az AWS mesterséges intelligencia és gépi tanulási megoldások szakértője. Segít az ügyfeleknek ML megoldásaik fejlesztésében és méretezésében az AWS Cloudban. Ioan több mint 20 éves tapasztalattal rendelkezik, főleg a szoftverarchitektúra tervezésében és a felhőtervezésben.

Gyorsítsa fel az ML fejlesztést a SageMaker Feature Store és az Apache Iceberg offline áruháztömörítés PlatoBlockchain Data Intelligence segítségével. Függőleges keresés. Ai.Mark Roy az AWS fő gépi tanulási építésze, aki segít az ügyfeleknek AI/ML megoldások tervezésében és kivitelezésében. Mark munkája az ML felhasználási esetek széles skáláját fedi le, elsősorban a számítógépes látás, a mély tanulás és az ML méretezése a vállalaton belül. Számos iparágban segített cégeknek, beleértve a biztosítást, a pénzügyi szolgáltatásokat, a médiát és a szórakoztatást, az egészségügyet, a közműveket és a gyártást. Mark hat AWS-tanúsítvánnyal rendelkezik, köztük az ML Specialty Certification-vel. Mielőtt csatlakozott az AWS-hez, Mark építész, fejlesztő és technológiai vezető volt több mint 25 éven át, ebből 19 évig pénzügyi szolgáltatásokkal foglalkozott.

Gyorsítsa fel az ML fejlesztést a SageMaker Feature Store és az Apache Iceberg offline áruháztömörítés PlatoBlockchain Data Intelligence segítségével. Függőleges keresés. Ai.Brandon Chatham a SageMaker Feature Store csapat szoftvermérnöke. Mélyen szenvedélyes az elegáns rendszerek építése, amelyek a nagy adatokat és a gépi tanulást az emberek kezébe juttatják.

Időbélyeg:

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