Az U-SQL és a Spark adatformátumai közötti különbségek megismerése
Fontos
Az Azure Data Lake Analytics 2024. február 29-én megszűnt. További információ ezzel a bejelentéssel.
Az adatelemzéshez a szervezet használhatja a Azure Synapse Analyticset vagy a Microsoft Fabricet.
Ha az Azure Databrickset vagy az Azure HDInsight Sparkot szeretné használni, javasoljuk, hogy migrálja az adatokat Azure Data Lake Storage Gen1-bőlAzure Data Lake Storage Gen2.
A fájlok áthelyezése mellett az U-SQL-táblákban tárolt adatokat is elérhetővé szeretné tenni a Spark számára.
Azure Data Lake Storage Gen1-fájlokban tárolt adatok áthelyezése
A fájlokban tárolt adatok különböző módokon helyezhetők át:
- Írjon egy Azure Data Factory-folyamatot az adatok Azure Data Lake Storage Gen1-fiókból a Azure Data Lake Storage Gen2-fiókba való másolásához.
- Írjon egy Spark-feladatot, amely beolvassa az adatokat az Azure Data Lake Storage Gen1-fiókból, és beírja azokat a Azure Data Lake Storage Gen2-fiókba. A használati eset alapján előfordulhat, hogy más formátumban szeretné írni, például a Parquetet, ha nem kell megőriznie az eredeti fájlformátumot.
Javasoljuk, hogy tekintse át a big data-elemzési megoldások frissítése Azure Data Lake Storage Gen1-ről Azure Data Lake Storage Gen2
U-SQL-táblákban tárolt adatok áthelyezése
A Spark nem érti az U-SQL-táblákat. Ha U-SQL-táblákban tárolt adatokkal rendelkezik, egy U-SQL-feladatot fog futtatni, amely kinyeri a táblaadatokat, és a Spark által jól érthető formátumban menti őket. A legmegfelelőbb formátum a Parquet-fájlok készletének létrehozása a Hive-metaadattár mappaelrendezését követve.
A kimenet az U-SQL-ben a beépített Parquet-kimenetterrel érhető el, és a dinamikus kimeneti particionálás fájlkészletekkel a partíciómappák létrehozásához. Minden eddiginél több fájl feldolgozása és a Parquet használata egy példa az ilyen Spark-adatok létrehozására.
Az átalakítás után az adatok másolása az Azure Data Lake Storage Gen1-fájlokban tárolt adatok áthelyezése című fejezetben leírtak szerint történik.
Figyelmeztetések
Adatszemantika Fájlok másolása esetén a másolás bájtszinten történik. Így ugyanazoknak az adatoknak kell megjelennie a Azure Data Lake Storage Gen2 fiókban. Vegye figyelembe azonban, hogy a Spark egyes karaktereket eltérően értelmezhet. Előfordulhat például, hogy egy CSV-fájl sorelválasztójához más alapértelmezett értéket használ. Továbbá, ha gépelt adatokat másol (táblákból), akkor a Parquet és a Spark eltérő pontossággal és skálázással rendelkezhet egyes beírt értékekhez (például lebegőpontos értékekhez), és eltérő módon kezelheti a null értékeket. Az U-SQL például c#-szemantikával rendelkezik a null értékekhez, míg a Spark háromértékű logikával rendelkezik a null értékekhez.
Az adatszervezési (particionálási) U-SQL-táblák kétszintű particionálást biztosítanak. A külső szint (
PARTITIONED BY
) érték szerint van, és többnyire a Hive/Spark particionálási sémába képezi le mappahierarchiákat használva. Győződjön meg arról, hogy a null értékek a megfelelő mappára vannak leképezve. Az U-SQL belső szintje (DISTRIBUTED BY
) négy terjesztési sémát kínál: ciklikus időszeletelés, tartomány, kivonat és közvetlen kivonat. A Hive-/Spark-táblák csak az értékparticionálást vagy kivonatparticionálást támogatják, az U-SQL-nél eltérő kivonatfüggvény használatával. Az U-SQL-tábla adatainak kimenetekor valószínűleg csak a Spark értékparticionálására lesz képes, és előfordulhat, hogy az utolsó Spark-lekérdezések alapján további hangolást kell végeznie az adatelrendezésen.
Következő lépések
- A Spark kódfogalmainak megismerése U-SQL-fejlesztők számára
- A big data-elemzési megoldások frissítése Azure Data Lake Storage Gen1-ről Azure Data Lake Storage Gen2
- .NET az Apache Sparkhoz
- Adatok átalakítása Spark-tevékenységgel a Azure Data Factory
- Adatok átalakítása Hadoop Hive-tevékenységgel a Azure Data Factory
- Mi az az Azure HDInsight-alapú Apache Spark?