A mai digitális korban minden szervezet sikerének középpontjában az adatok állnak. Az egyik leggyakrabban használt adatcsere formátum az XML. Az XML-fájlok elemzése több okból is kulcsfontosságú. Először is, az XML-fájlokat számos iparágban használják, beleértve a pénzügyet, az egészségügyet és a kormányzatot. Az XML-fájlok elemzése segíthet a szervezeteknek betekintést nyerni adataikba, így jobb döntéseket hozhatnak és javíthatják működésüket. Az XML fájlok elemzése az adatintegrációt is segítheti, mert sok alkalmazás és rendszer szabványos adatformátumként használja az XML-t. Az XML-fájlok elemzésével a szervezetek könnyen integrálhatják a különböző forrásokból származó adatokat, és biztosíthatják rendszereik konzisztenciáját. Az XML-fájlok azonban félig strukturált, erősen beágyazott adatokat tartalmaznak, ami megnehezíti az információk elérését és elemzését, különösen akkor, ha a fájl nagy és rendelkezik összetett, erősen beágyazott séma.
Az XML-fájlok jól illeszkednek az alkalmazásokhoz, de nem biztos, hogy optimálisak az elemző motorokhoz. A lekérdezési teljesítmény fokozása és a könnyű hozzáférés biztosítása érdekében a későbbi elemzőmotorokban, mint pl Amazon Athéné, kulcsfontosságú az XML-fájlok előfeldolgozása oszlopos formátumba, mint például a Parquet. Ez az átalakítás jobb hatékonyságot és használhatóságot tesz lehetővé az analitikai munkafolyamatok során. Ebben a bejegyzésben bemutatjuk, hogyan kell XML-adatokat feldolgozni AWS ragasztó és Athéné.
Megoldás áttekintése
Két különböző technikát vizsgálunk, amelyek egyszerűsíthetik az XML-fájlfeldolgozási munkafolyamatot:
- 1. technika: Használjon AWS Glue bejárót és az AWS Glue vizuális szerkesztőt – Az AWS Glue felhasználói felületét egy bejáróval együtt használhatja az XML-fájlok táblázatszerkezetének meghatározásához. Ez a megközelítés felhasználóbarát felületet biztosít, és különösen alkalmas azoknak az egyéneknek, akik a grafikus megközelítést részesítik előnyben adataik kezelésében.
- 2. technika: Használjon AWS Glue DynamicFrames-et kikövetkeztetett és rögzített sémákkal – A bejárónak korlátai vannak, ha egyetlen sort kell feldolgozni a nagyobb XML-fájlokban, mint 1 MB. Ennek a korlátozásnak a leküzdésére egy AWS Glue notebookot használunk az AWS Glue elkészítéséhez
DynamicFrames
, mind a következtetett, mind a rögzített sémákat használva. Ez a módszer biztosítja az 1 MB-nál nagyobb sorokat tartalmazó XML-fájlok hatékony kezelését.
Végső célunk mindkét megközelítésben az XML-fájlok Apache Parquet formátumba konvertálása, így azok könnyen elérhetővé válnak az Athena segítségével történő lekérdezéshez. Ezekkel a technikákkal növelheti XML-adatainak feldolgozási sebességét és hozzáférhetőségét, így könnyedén nyerhet értékes információkat.
Előfeltételek
Mielőtt elkezdené ezt az oktatóanyagot, hajtsa végre a következő előfeltételeket (ezek mindkét technikára érvényesek):
- Töltse le az XML fájlokat technika1.xml és a technika2.xml.
- Töltse fel a fájlokat egy Amazon egyszerű tárolási szolgáltatás (Amazon S3) vödör. Feltöltheti őket ugyanabba az S3 tárolóba különböző mappákban, vagy különböző S3 gyűjtőkbe.
- Létrehozása AWS Identity and Access Management (IAM) szerepkört az Ön ETL-feladatához vagy notebookjához, a következő utasítások szerint Állítsa be az IAM-engedélyeket az AWS Glue Studio számára.
- Adjon hozzá egy soron belüli szabályzatot a szerepköréhez a már: PassRole akció:
- Adjon hozzá egy engedélyházirendet az S3-tárolóhoz való hozzáféréssel rendelkező szerepkörhöz.
Most, hogy elkészültünk az előfeltételekkel, folytassuk az első technika megvalósítását.
1. technika: Használjon AWS Glue bejárót és a vizuális szerkesztőt
A következő ábra azt az egyszerű architektúrát szemlélteti, amelyet a megoldás megvalósításához használhat.
Az Amazon S3-ban tárolt XML-fájlok AWS Glue és Athena segítségével történő elemzéséhez a következő magas szintű lépéseket hajtjuk végre:
- Hozzon létre egy AWS Glue bejárót az XML metaadatok kinyeréséhez, és hozzon létre egy táblázatot az AWS Glue Data katalógusban.
- Az XML-adatok feldolgozása és átalakítása az Athena számára megfelelő formátumba (például a Parquetbe) AWS ragasztókivonat, átalakítás és betöltés (ETL) feladat segítségével.
- Állítson be és futtasson egy AWS ragasztófeladatot az AWS Glue konzolon vagy a AWS parancssori interfész (AWS CLI).
- Használja a feldolgozott adatokat (Parquet formátumban) az Athena táblákkal, engedélyezve az SQL lekérdezéseket.
- Használja az Athena felhasználóbarát felületét az XML-adatok elemzéséhez SQL-lekérdezések segítségével az Amazon S3-ban tárolt adatain.
Ez az architektúra méretezhető, költséghatékony megoldás az Amazon S3 XML-adatainak elemzésére az AWS Glue és Athena használatával. Komplex infrastruktúra-kezelés nélkül is elemezhet nagy adatkészleteket.
Az XML-fájlok metaadatainak kinyerésére az AWS Glue bejárót használjuk. Kiválaszthatja az alapértelmezett AWS Glue osztályozót az általános célú XML osztályozáshoz. Automatikusan felismeri az XML adatstruktúrát és sémát, ami hasznos a gyakori formátumoknál.
Ebben a megoldásban egyéni XML osztályozót is használunk. Speciális XML-sémákhoz vagy formátumokhoz tervezték, lehetővé téve a precíz metaadatok kinyerését. Ez ideális a nem szabványos XML formátumokhoz, vagy ha az osztályozás részletes szabályozására van szüksége. Az egyéni osztályozó biztosítja, hogy csak a szükséges metaadatok kinyerhetők legyenek, leegyszerűsítve a későbbi feldolgozási és elemzési feladatokat. Ez a megközelítés optimalizálja az XML-fájlok használatát.
A következő képernyőképen egy XML-fájl példája látható címkékkel.
Hozzon létre egy egyéni osztályozót
Ebben a lépésben egyéni AWS Glue osztályozót hoz létre a metaadatok XML-fájlból való kinyeréséhez. Hajtsa végre a következő lépéseket:
- Az AWS Glue konzolon, alatt Bejárók a navigációs ablakban válassza a lehetőséget osztályozók.
- 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 Osztályozó hozzáadása.
- választ XML mint az osztályozó típusa.
- Adjon meg egy nevet az osztályozónak, például
blog-glue-xml-contact
. - A Sorcímke, adja meg a metaadatokat tartalmazó gyökércímke nevét (például
metadata
). - 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 Teremt.
Hozzon létre egy AWS Glue Crawlert az xml-fájl feltérképezéséhez
Ebben a szakaszban létrehozunk egy Glue Crawler-t, amely az előző lépésben létrehozott ügyfél-osztályozó segítségével kinyeri a metaadatokat az XML-fájlból.
Hozzon létre egy adatbázist
- Menj a AWS ragasztókonzol, választ Adatbázisok a navigációs ablaktáblában.
- Kattints a Adatbázis hozzáadása.
- Adjon meg egy nevet, mint pl
blog_glue_xml
- 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 Teremt adatbázis
Hozzon létre egy bejárót
Az első robot létrehozásához hajtsa végre a következő lépéseket:
- Az AWS Glue konzolon válassza a lehetőséget Bejárók a navigációs ablaktáblában.
- 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 Bejáró létrehozása.
- A Állítsa be a bejáró tulajdonságait oldalon adjon nevet az új bejárónak (pl
blog-glue-parquet
), majd válassza a lehetőséget Következő. - A Válasszon adatforrásokat és osztályozókat oldal, válassza ki Még nem alatt Adatforrás konfigurációja.
- 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 Adjon hozzá egy adattárat.
- A S3 útvonal, tallózzon ide
s3://${BUCKET_NAME}/input/geologicalsurvey/
.
Ügyeljen arra, hogy az XML mappát válassza a mappán belüli fájl helyett.
- A többi beállítást hagyja alapértelmezettként, és válassza ki Adjon hozzá egy S3 adatforrást.
- Bontsa Egyedi osztályozók – opcionális, válassza a blog-glue-xml-contact lehetőséget, majd válassza a lehetőséget Következő és a többi beállítást megtartja alapértelmezettként.
- Válassza ki IAM-szerepét, vagy válasszon Új IAM-szerep létrehozása, adja hozzá az utótagot
glue-xml-contact
(például,AWSGlueServiceNotebookRoleBlog
), és válasszon Következő. - A Állítsa be a kimenetet és az ütemezést oldal, alatt Kimenet konfigurációja, választ
blog_glue_xml
mert Cél adatbázis. - belép
console_
a táblázatokhoz hozzáadott előtagként (nem kötelező) és alatta Bejáró ütemezése, tartsa beállítva a frekvenciát Igény szerint. - 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 Következő.
- Tekintse át az összes paramétert, és válassza ki Bejáró létrehozása.
Futtassa a Crawlert
A bejáró létrehozása után futtassa a következő lépéseket:
- Az AWS Glue konzolon válassza a lehetőséget Bejárók a navigációs ablaktáblában.
- Nyissa meg a létrehozott bejárót, és válassza ki futás.
A bejáró 1–2 percet vesz igénybe.
- Amikor a bejáró kész, válassza a lehetőséget Adatbázisok a navigációs ablaktáblában.
- Válassza ki a beépített adatbázist, és válassza ki a tábla nevét a bejáró által kibontott séma megtekintéséhez.
Hozzon létre egy AWS ragasztófeladatot az XML parketta formátumba konvertálásához
Ebben a lépésben létrehoz egy AWS Glue Studio-feladatot az XML-fájl Parquet-fájllá konvertálásához. Hajtsa végre a következő lépéseket:
- Az AWS Glue konzolon válassza a lehetőséget Állások a navigációs ablaktáblában.
- Alatt Állás létrehozásaválassza Vizuális üres vászonnal.
- 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 Teremt.
- Nevezze át a munkát erre
blog_glue_xml_job
.
Most már van egy üres AWS Glue Studio vizuális munkaszerkesztője. A szerkesztő tetején találhatók a különböző nézetek fülei.
- Válassza a Forgatókönyv lapon megtekintheti az AWS Glue ETL parancsfájl üres shelljét.
Ahogy új lépéseket adunk a vizuális szerkesztőben, a szkript automatikusan frissül.
- Válassza a Munka részletei lapon az összes feladatkonfiguráció megtekintéséhez.
- A IAM szerepkör, választ
AWSGlueServiceNotebookRoleBlog
. - A Ragasztós változat, választ Glue 4.0 – Spark 3.3, Scala 2, Python 3 támogatása.
- Készlet Kért dolgozói létszám A 2.
- Készlet Az újrapróbálkozások száma A 0.
- Válassza a Vizuális lapon a vizuális szerkesztőhöz való visszatéréshez.
- A forrás legördülő menüből válassza ki AWS ragasztóadat-katalógus.
- A Adatforrás tulajdonságai – Adatkatalógus lapon adja meg a következő információkat:
- A adatbázis, választ
blog_glue_xml
. - A Táblázat, válassza ki azt a táblázatot, amely a bejáró által létrehozott konzolnévvel kezdődik (például
console_geologicalsurvey
).
- A adatbázis, választ
- A Csomópont tulajdonságai lapon adja meg a következő információkat:
- Változtat Név nak nek
geologicalsurvey
adatkészlet. - 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 Akció és az átalakulás Séma módosítása (leképezés alkalmazása).
- 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 Csomópont tulajdonságai és módosítsa az átalakítás nevét a Séma módosítása (Leképezés alkalmazása) értékről a következőre
ApplyMapping
. - A cél menüben válasszon S3.
- Változtat Név nak nek
- A Adatforrás tulajdonságai – S3 lapon adja meg a következő információkat:
- A kialakítottválassza parkett.
- A Tömörítés típusaválassza tömörítetlen.
- A S3 forrástípusválassza S3 hely.
- A S3 URL, belép
s3://${BUCKET_NAME}/output/parquet/
. - 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 Csomópont tulajdonságai és változtassa meg a nevet
Output
.
- 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 Megtakarítás hogy megmentse a munkát.
- 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 futás hogy levezesse a munkát.
A következő képernyőképen látható a feladat a vizuális szerkesztőben.
Hozzon létre egy AWS Gue Crawlert a Parquet fájl feltérképezéséhez
Ebben a lépésben létrehoz egy AWS Glue bejárót, amely metaadatokat bont ki az AWS Glue Studio feladatával létrehozott Parquet fájlból. Ezúttal az alapértelmezett osztályozót használja. Hajtsa végre a következő lépéseket:
- Az AWS Glue konzolon válassza a lehetőséget Bejárók a navigációs ablaktáblában.
- 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 Bejáró létrehozása.
- A Állítsa be a bejáró tulajdonságait oldalon adjon nevet az új bejárónak, például blog-glue-parquet-contact, majd válasszon Következő.
- A Válasszon adatforrásokat és osztályozókat oldal, válassza ki Még nem mert Adatforrás konfigurációja.
- 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 Adjon hozzá egy adattárat.
- A S3 útvonal, tallózzon ide
s3://${BUCKET_NAME}/output/parquet/
.
Ügyeljen arra, hogy a parquet
mappát, nem pedig a mappán belüli fájlt.
- Válassza ki az előfeltétel szakaszban létrehozott IAM-szerepkört, vagy válasszon Új IAM-szerep létrehozása (például,
AWSGlueServiceNotebookRoleBlog
), és válasszon Következő. - A Állítsa be a kimenetet és az ütemezést oldal, alatt Kimenet konfigurációja, választ
blog_glue_xml
mert adatbázis. - belép
parquet_
a táblázatokhoz hozzáadott előtagként (nem kötelező) és alatta Bejáró ütemezése, tartsa beállítva a frekvenciát Igény szerint. - 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 Következő.
- Tekintse át az összes paramétert, és válassza ki Bejáró létrehozása.
Most már futtathatja a bejárót, amely 1–2 percet vesz igénybe.
Megtekintheti a Parquet fájl újonnan létrehozott sémáját az AWS ragasztóadat-katalógusban, amely hasonló az XML-fájl sémájához.
Most már rendelkezünk adatokkal, amelyek alkalmasak az Athénával való használatra. A következő részben adatlekérdezéseket hajtunk végre az Athena segítségével.
Lekérdezheti a Parquet fájlt az Athena segítségével
Az Athena nem támogatja a lekérdezést XML fájlformátum, ezért alakította át az XML fájlt Parquet formátumba a hatékonyabb adatlekérdezés és -felhasználás érdekében pont jelölés összetett típusok és beágyazott struktúrák lekérdezésére.
A következő példakód pontjelölést használ a beágyazott adatok lekérdezéséhez:
Most, hogy befejeztük az 1. technikát, folytassuk a 2. technika megismerését.
2. technika: Használjon AWS Glue DynamicFrames-et kikövetkeztetett és rögzített sémákkal
Az előző részben bemutattuk egy kis XML-fájl kezelésének folyamatát egy AWS Glue bejáró segítségével a táblázat létrehozásához, egy AWS Glue feladattal a fájl Parquet formátumba konvertálásához, valamint az Athena-val a Parquet adatokhoz való hozzáféréshez. A bejáró azonban korlátokba ütközik az XML-fájlok feldolgozása során, amelyek túllépik 1 MB méretű. Ebben a részben a nagyobb XML-fájlok kötegelt feldolgozásának témájával foglalkozunk, amely további elemzést tesz szükségessé az egyes események kinyeréséhez és az Athena segítségével történő elemzéshez.
Megközelítésünk az XML fájlok AWS Glue segítségével történő beolvasása DynamicFrames, kikövetkeztetett és rögzített sémákat egyaránt alkalmazva. Ezután az egyes eseményeket Parketta formátumban bontjuk ki a relacionalizálni átalakítást, lehetővé téve számunkra, hogy az Athena segítségével zökkenőmentesen lekérdezhessük és elemezhessük őket.
A megoldás megvalósításához a következő magas szintű lépéseket kell végrehajtania:
- Hozzon létre egy AWS Glue jegyzetfüzetet az XML-fájl olvasásához és elemzéséhez.
- Felhasználás
DynamicFrames
val velInferSchema
az XML fájl olvasásához. - Használja a relációs függvényt a tömbök beágyazásához.
- Konvertálja az adatokat parketta formátumba.
- Lekérdezheti a Parketta adatait az Athena segítségével.
- Ismételje meg az előző lépéseket, de ezúttal adjon át egy sémát
DynamicFrames
használat helyettInferSchema
.
Az elektromos járművek népességének adatait tartalmazó XML-fájl rendelkezik a response
címkét a gyökér szintjén. Ez a címke a következő tömbjét tartalmazza row
címkéket, amelyek be vannak ágyazva. A sorcímke egy tömb, amely további sorcímkéket tartalmaz, amelyek információkat szolgáltatnak egy járműről, beleértve a márkát, modellt és egyéb releváns részleteket. A következő képernyőkép egy példát mutat be.
Hozzon létre egy AWS Glue Notebookot
AWS Glue jegyzetfüzet létrehozásához hajtsa végre a következő lépéseket:
- Nyissa meg a AWS ragasztóstúdió konzol, válassz Állások a navigációs ablaktáblában.
- választ Jupyter Jegyzetfüzet És válasszon Teremt.
- Adjon meg egy nevet az AWS Glue-feladatának, például
blog_glue_xml_job_Jupyter
. - Válassza ki a szerepkört, amelyet az előfeltételekben (
AWSGlueServiceNotebookRoleBlog
).
Az AWS Glue notebookhoz egy már létező példa is tartozik, amely bemutatja, hogyan lehet lekérdezni egy adatbázist, és kiírni a kimenetet az Amazon S3-ba.
- Állítsa be az időtúllépést (percben), ahogy az a következő képernyőképen látható, és futtassa a cellát az AWS Glue interaktív munkamenet létrehozásához.
Hozzon létre alapvető változókat
Az interaktív munkamenet létrehozása után a jegyzetfüzet végén hozzon létre egy új cellát a következő változókkal (adja meg a saját csoport nevét):
Olvassa el a sémára kikövetkeztető XML-fájlt
Ha nem ad át sémát a DynamicFrame
, kikövetkezteti a fájlok sémáját. Az adatok dinamikus kerettel történő olvasásához használja a következő parancsot:
Nyomtassa ki a DynamicFrame sémát
Nyomtassa ki a sémát a következő kóddal:
A séma egy beágyazott struktúrát mutat be a row
több elemet tartalmazó tömb. Ennek a szerkezetnek a vonalakba való szétválasztásához használhatja az AWS ragasztót relacionalizálni átalakítás:
Minket csak a sortömbben található információk érdekelnek, és a sémát a következő paranccsal tekinthetjük meg:
Az oszlopnevek tartalmazzák row.row
, amelyek megfelelnek az adatkészlet tömbszerkezetének és tömboszlopának. Ebben a bejegyzésben nem nevezzük át az oszlopokat; az erre vonatkozó utasításokat lásd: Automatizálja az adatfájlokban lévő oszlopnevek dinamikus leképezését és átnevezését az AWS Glue segítségével: 1. rész. Ezután az adatokat parketta formátumba konvertálhatja, és létrehozhatja az AWS ragasztótáblát a következő paranccsal:
AWS ragasztó DynamicFrame
olyan szolgáltatásokat biztosít, amelyeket az ETL-szkriptben használhat séma létrehozásához és frissítéséhez az adatkatalógusban. Használjuk a updateBehavior
paramétert a táblázat közvetlen létrehozásához az adatkatalógusban. Ezzel a megközelítéssel nincs szükség AWS ragasztórobot futtatására, miután az AWS ragasztófeladat befejeződött.
Olvassa el az XML-fájlt egy séma beállításával
A fájl olvasásának másik módja egy séma előre definiálása. Ehhez hajtsa végre a következő lépéseket:
- Importálja az AWS Glue adattípusait:
- Hozzon létre egy sémát az XML-fájlhoz:
- Adja át a sémát az XML fájl olvasásakor:
- Az adatkészlet feloldása a korábbiak szerint:
- Alakítsa át az adatkészletet parkettá, és hozza létre az AWS ragasztótáblát:
Kérdezze le a táblázatokat az Athena segítségével
Most, hogy mindkét táblát létrehoztuk, lekérdezhetjük a táblákat az Athena segítségével. Használhatjuk például a következő lekérdezést:
Clean Up
Ebben a bejegyzésben létrehoztunk egy IAM-szerepet, egy AWS Glue Jupyter notebookot és két táblázatot az AWS ragasztóadat-katalógusában. Feltöltöttünk néhány fájlt egy S3 vödörbe is. Az objektumok megtisztításához hajtsa végre a következő lépéseket:
- Az IAM-konzolon törölje a létrehozott szerepet.
- Az AWS Glue Studio konzolon törölje az egyéni osztályozót, a bejárót, az ETL-feladatokat és a Jupyter-jegyzetfüzetet.
- Keresse meg az AWS ragasztóadat-katalógust, és törölje a létrehozott táblázatokat.
- Az Amazon S3 konzolon navigáljon a létrehozott tárolóhoz, és törölje a megnevezett mappákat
temp
,infer_schema
ésno_infer_schema
.
Kulcs elvezetések
Az AWS Glue-ban van egy ún InferSchema
AWS ragasztóban DynamicFrames
. A benne lévő adatok alapján automatikusan kitalálja egy adatkeret szerkezetét. Ezzel szemben a séma meghatározása azt jelenti, hogy az adatok betöltése előtt kifejezetten meg kell határozni, hogy milyen legyen az adatkeret szerkezete.
Az XML, mivel szövegalapú formátum, nem korlátozza az oszlopok adattípusait. Ez problémákat okozhat az InferSchema függvényben. Például az első futtatásban egy 2-es értékű A oszlopú fájl egy parkettafájlt eredményez, amelynek A oszlopa egész szám. A második futtatásban egy új fájl A oszlopot tartalmaz C értékkel, ami egy Parquet fájlhoz vezet, amelynek A oszlopa karakterlánc. Most két fájl van az S3-on, mindegyikben egy-egy különböző adattípusú A oszlop található, ami problémákat okozhat az áramlásban.
Ugyanez történik összetett adattípusokkal, például beágyazott struktúrákkal vagy tömbökkel. Például, ha egy fájl egy címkebejegyzést tartalmaz transaction
, ez struktúraként következik be. De ha egy másik fájl ugyanazt a címkét tartalmazza, akkor a rendszer tömbként fogja kikövetkeztetni
Az adattípussal kapcsolatos problémák ellenére InferSchema
akkor hasznos, ha nem ismeri a sémát, vagy nem praktikus a manuális meghatározása. Azonban nem ideális nagy vagy folyamatosan változó adatkészletekhez. A séma meghatározása pontosabb, különösen összetett adattípusok esetén, de megvannak a maga problémái, például kézi erőfeszítést igényel, és rugalmatlan az adatváltozásokhoz.
InferSchema
korlátai vannak, például helytelen adattípus-következtetés és problémák a null értékek kezelésével kapcsolatban. A séma meghatározásának korlátai is vannak, például kézi erőfeszítés és lehetséges hibák.
A séma következtetése és meghatározása közötti választás a projekt igényeitől függ. Az InferSchema kiválóan alkalmas kis adatkészletek gyors feltárására, míg a séma meghatározása jobb a nagyobb, összetett, pontosságot és következetességet igénylő adatkészleteknél. Vegye figyelembe az egyes módszerek kompromisszumait és korlátait, hogy kiválaszthassa azt, amelyik a legjobban megfelel a projektjének.
Következtetés
Ebben a bejegyzésben az XML-adatok AWS Glue használatával történő kezelésének két technikáját vizsgáltuk meg, amelyek mindegyike egyedi igények és kihívások kezelésére lett kitalálva.
A Technique 1 felhasználóbarát utat kínál azok számára, akik a grafikus felületet részesítik előnyben. Használhat egy AWS Glue bejárót és a vizuális szerkesztőt az XML-fájlok táblázatszerkezetének egyszerű meghatározásához. Ez a megközelítés leegyszerűsíti az adatkezelési folyamatot, és különösen vonzó azok számára, akik egyszerű módot keresnek adataik kezelésére.
Felismerjük azonban, hogy a bejárónak megvannak a korlátai, különösen az 1 MB-nál nagyobb sorokat tartalmazó XML-fájlok kezelésekor. Itt jön a segítség a 2. technika. Az AWS ragasztó felhasználásával DynamicFrames
mind a kikövetkeztetett, mind a rögzített sémákkal, valamint az AWS Glue notebook használatával bármilyen méretű XML-fájlokat hatékonyan kezelhet. Ez a módszer robusztus megoldást kínál, amely még az 1 MB-ot meghaladó sorokat tartalmazó XML-fájlok zökkenőmentes feldolgozását is biztosítja.
Ahogy eligazod az adatkezelés világában, ezek a technikák az eszköztárában lehetővé teszik, hogy megalapozott döntéseket hozzon a projekt konkrét követelményei alapján. Akár az 1. technika egyszerűségét, akár a 2. technika skálázhatóságát részesíti előnyben, az AWS Glue biztosítja az XML adatok hatékony kezeléséhez szükséges rugalmasságot.
A szerzőkről
Navnit ShuklaAWS Specialist Solution Architectként szolgál, az Analyticsre összpontosítva. Nagy lelkesedéssel segíti ügyfeleit abban, hogy értékes betekintést nyerjenek adataikból. Szakértelmének köszönhetően innovatív megoldásokat hoz létre, amelyek lehetővé teszik a vállalkozások számára, hogy tájékozott, adatvezérelt döntéseket hozzanak. Nevezetesen, Navnit Shukla a „Data Wrangling on AWS” című könyv kiváló szerzője.
Patrick Muller Senior Data Lab Architectként dolgozik az AWS-nél. Fő feladata, hogy segítse az ügyfeleket abban, hogy ötleteiket gyártásra kész adattermékké alakítsák. Szabadidejében Patrick szeret focizni, filmeket nézni és utazni.
Amogh Gaikwad az Amazon Web Services vezető megoldásfejlesztője. Segít a globális ügyfeleknek AI/ML megoldások AWS-en való létrehozásában és telepítésében. Munkája főként a számítógépes látásra és a természetes nyelvi feldolgozásra összpontosít, valamint arra, hogy segítse az ügyfeleket AI/ML munkaterhelésük optimalizálása érdekében a fenntarthatóság érdekében. Amogh számítógép-tudományból szerzett mesterfokozatot gépi tanulásra specializálódott.
Sheela Sonone az AWS vezető rezidens építésze. Segít az AWS-ügyfeleknek, hogy megalapozott döntéseket hozzanak, és kompromisszumokat hozzanak az adatok, az elemzések, valamint az AI/ML munkaterhelések és megvalósítások felgyorsításával kapcsolatban. Szabadidejében szívesen tölti idejét családjával – általában teniszpályákon.
- SEO által támogatott tartalom és PR terjesztés. Erősödjön még ma.
- PlatoData.Network Vertical Generative Ai. Erősítse meg magát. Hozzáférés itt.
- PlatoAiStream. Web3 Intelligence. Felerősített tudás. Hozzáférés itt.
- PlatoESG. Carbon, CleanTech, Energia, Környezet, Nap, Hulladékgazdálkodás. Hozzáférés itt.
- PlatoHealth. Biotechnológiai és klinikai vizsgálatok intelligencia. Hozzáférés itt.
- Forrás: https://aws.amazon.com/blogs/big-data/process-and-analyze-highly-nested-and-large-xml-files-using-aws-glue-and-amazon-athena/
- :van
- :is
- :nem
- :ahol
- $ UP
- 1
- 10
- 100
- 12
- 121
- 13
- 14
- 1994
- 250
- 26
- 53
- 7
- 8
- 9
- a
- Rólunk
- KIVONAT
- gyorsuló
- hozzáférés
- megközelíthetőség
- megvalósítható
- pontosság
- át
- Akció
- hozzá
- hozzáadott
- További
- cím
- Után
- kor
- AI / ML
- Minden termék
- lehetővé
- lehetővé téve
- lehetővé teszi, hogy
- Is
- alternatív
- amazon
- Amazon Athéné
- Az Amazon Web Services
- an
- elemzés
- analitika
- elemez
- elemzése
- és a
- Másik
- bármilyen
- Apache
- tetszetős
- alkalmazások
- alkalmaz
- megközelítés
- megközelít
- építészet
- VANNAK
- Sor
- AS
- segít
- segítő
- At
- szerző
- automatikusan
- elérhető
- AWS
- AWS ragasztó
- vissza
- alapján
- alapvető
- BE
- mert
- előtt
- kezdődik
- hogy
- BEST
- Jobb
- között
- üres
- könyv
- mindkét
- épít
- vállalkozások
- de
- by
- hívott
- TUD
- katalógus
- Okoz
- sejt
- kihívások
- változik
- Változások
- változó
- választás
- 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
- Város
- besorolás
- ügyfél részére
- kód
- Oszlop
- Oszlopok
- COM
- jön
- Közös
- általában
- teljes
- Befejezett
- bonyolult
- számítógép
- Computer Science
- Számítógépes látás
- feltétel
- Magatartás
- kötőszó
- Fontolja
- Konzol
- állandóan
- korlátok
- konstrukció
- tartalmaz
- tartalmazott
- tartalmaz
- kontraszt
- ellenőrzés
- megtérít
- átalakított
- költséghatékony
- költséghatékony megoldás
- megye
- Bíróságok
- fedett
- lánctalpas
- teremt
- készítette
- létrehozása
- kritikus
- szokás
- vevő
- Ügyfelek
- dátum
- adatintegráció
- adatkezelés
- adatalapú
- adatbázis
- adatkészletek
- foglalkozó
- határozatok
- alapértelmezett
- meghatározott
- meghatározó
- ás
- mutatja
- függ
- telepíteni
- tervezett
- részletes
- részletek
- Fejlesztő
- különböző
- nehéz
- digitális
- digitális korban
- közvetlenül
- felfedezése
- különböző
- do
- Nem
- csinált
- ne
- DOT
- alatt
- dinamikus
- minden
- könnyű
- könnyen
- könnyű
- szerkesztő
- hatás
- hatékonyan
- hatékonyság
- hatékony
- eredményesen
- erőfeszítés
- erőfeszítés nélkül
- elektromos
- elektromos jármű
- elemek
- foglalkoztatás
- képessé
- felhatalmazza
- üres
- lehetővé
- lehetővé téve
- találkozás
- végén
- Motorok
- növelése
- biztosítására
- biztosítja
- belép
- lelkesedés
- belépés
- hibák
- különösen
- Eter (ETH)
- Még
- események
- Minden
- példa
- haladja meg
- cseréje
- szakvélemény
- kutatás
- feltárása
- feltárt
- kivonat
- kitermelés
- család
- Funkció
- Jellemzők
- ábrák
- filé
- Fájlok
- finanszíroz
- vezetéknév
- rögzített
- Rugalmasság
- Összpontosít
- összpontosított
- következő
- A
- formátum
- KERET
- Ingyenes
- Frekvencia
- ból ből
- funkció
- Nyereség
- Általános rendeltetésű
- generál
- Globális
- Go
- cél
- Kormány
- nagy
- fogantyú
- Kezelés
- megtörténik
- hasznosítása
- Legyen
- tekintettel
- he
- egészségügyi
- Szív
- segít
- segít
- segít
- neki
- magas szinten
- nagyon
- övé
- Hogyan
- How To
- azonban
- HTML
- http
- HTTPS
- IAM
- ideális
- ötletek
- Identitás
- if
- illusztrálja
- végre
- megvalósítások
- végrehajtási
- importál
- javul
- javított
- in
- Beleértve
- egyéni
- egyének
- iparágak
- információ
- tájékoztatták
- Infrastruktúra
- újító
- belső
- meglátások
- helyette
- utasítás
- integrálni
- integráció
- interaktív
- érdekelt
- Felület
- bele
- jár
- kérdések
- IT
- ITS
- Munka
- Állások
- jpg
- json
- Jupyter Jegyzetfüzet
- Tart
- Ismer
- labor
- nyelv
- nagy
- nagyobb
- vezető
- TANUL
- tanulás
- szint
- mint
- LIMIT
- korlátozás
- korlátozások
- vonal
- vonalak
- kiszámításának
- betöltés
- logika
- keres
- gép
- gépi tanulás
- Fő
- főleg
- csinál
- Gyártás
- vezetés
- kezelése
- kézikönyv
- kézzel
- sok
- térképészet
- mester
- Lehet..
- eszközök
- Menü
- Metaadatok
- módszer
- jegyzőkönyv
- modell
- több
- hatékonyabb
- a legtöbb
- mozog
- Filmek
- többszörös
- név
- Nevezett
- nevek
- Természetes
- Természetes nyelv
- Természetes nyelvi feldolgozás
- Keresse
- Navigáció
- elengedhetetlen
- Szükség
- igények
- Új
- újonnan
- következő
- nevezetesen
- jegyzetfüzet
- Most
- szám
- objektumok
- of
- Ajánlatok
- on
- ONE
- csak
- Művelet
- optimálisan
- Optimalizálja
- Optimalizálja
- Opciók
- or
- érdekében
- szervezetek
- Eredet
- Más
- mi
- ki
- teljesítmény
- felett
- Overcome
- saját
- oldal
- üvegtábla
- paraméter
- paraméterek
- rész
- különösen
- elhalad
- ösvény
- patrick
- teljesít
- teljesítmény
- engedélyek
- vedd
- Plató
- Platón adatintelligencia
- PlatoData
- játék
- politika
- népesség
- birtokol
- állás
- potenciális
- pontos
- jobban szeret
- előfeltételek
- Preview
- előző
- problémák
- folyamat
- feldolgozott
- feldolgozás
- Termékek
- program
- projektek
- ingatlanait
- ad
- biztosít
- közzétesz
- cél
- Piton
- lekérdezések
- Quick
- Inkább
- Olvass
- készségesen
- Olvasás
- miatt
- kapott
- elismerik
- utal
- követelmények
- mentés
- forrás
- válasz
- felelősség
- REST
- korlátoz
- korlátozás
- Eredmények
- erős
- Szerep
- gyökér
- SOR
- futás
- azonos
- Megtakarítás
- Scala
- skálázhatóság
- skálázható
- Tudomány
- forgatókönyv
- zökkenőmentes
- zökkenőmentesen
- Második
- Rész
- lát
- idősebb
- Szolgáltatások
- ülés
- készlet
- beállítás
- számos
- ő
- Héj
- kellene
- előadás
- mutatott
- Műsorok
- hasonló
- Egyszerű
- egyszerűség
- egyszerűsítése
- egyetlen
- Méret
- kicsi
- So
- Futball
- megoldások
- Megoldások
- néhány
- forrás
- Források
- Szikra
- szakember
- szakosodott
- különleges
- kifejezetten
- sebesség
- Költési
- SQL
- standard
- kezdődik
- Állami
- nyilatkozat
- amely
- Lépés
- Lépései
- tárolás
- memorizált
- egyértelmű
- áramvonal
- Húr
- erős
- struktúra
- struktúrák
- stúdió
- siker
- ilyen
- megfelelő
- támogatás
- biztos
- Fenntarthatóság
- Systems
- táblázat
- TAG
- szabott
- Vesz
- tart
- feladatok
- technikák
- tenisz
- mint
- hogy
- A
- az információ
- a világ
- azok
- Őket
- akkor
- Ott.
- Ezek
- ők
- ezt
- azok
- Keresztül
- idő
- Cím
- címmel
- nak nek
- mai
- eszköztár
- felső
- téma
- Átalakítás
- Átalakítás
- Utazó
- Turning
- oktatói
- kettő
- típus
- típusok
- végső
- alatt
- Frissítések
- frissítve
- feltöltve
- us
- használhatóság
- használ
- használt
- használó
- felhasználói felület
- barátságos felhasználói
- használ
- segítségével
- rendszerint
- kihasználva
- Értékes
- érték
- Értékek
- jármű
- változat
- keresztül
- Megnézem
- nézetek
- látomás
- őrzés
- Út..
- we
- háló
- webes szolgáltatások
- Mit
- amikor
- mivel
- vajon
- ami
- WHO
- miért
- lesz
- val vel
- belül
- nélkül
- Munka
- munkafolyamat
- munkafolyamatok
- művek
- világ
- ír
- XML
- te
- A te
- zephyrnet