Megosztás a következőn keresztül:


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:

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