Share via


Parquet formátumú összekötő hibaelhárítása az Azure Data Factoryben és az Azure Synapse-ban

A következőkre vonatkozik: Azure Data Factory Azure Synapse Analytics

Tipp.

Próbálja ki a Data Factoryt a Microsoft Fabricben, amely egy teljes körű elemzési megoldás a nagyvállalatok számára. A Microsoft Fabric az adattovábbítástól az adatelemzésig, a valós idejű elemzésig, az üzleti intelligenciáig és a jelentéskészítésig mindent lefed. Ismerje meg, hogyan indíthat új próbaverziót ingyenesen!

Ez a cikk javaslatokat tartalmaz az Azure Data Factory és az Azure Synapse Parquet formátumú összekötőjével kapcsolatos gyakori problémák elhárításához.

Hibakód: ParquetJavaInvocationException

  • Üzenet: An error occurred when invoking java, message: %javaException;.

  • Okok és javaslatok: Különböző okok vezethetnek ehhez a hibához. Tekintse meg az alábbi lista lehetséges okelemzését és a kapcsolódó javaslatokat.

    Okelemzés Recommendation
    Ha a hibaüzenet a "java.lang.OutOfMemory", a "Java halomterület" és a "doubleCapacity" sztringeket tartalmazza, az általában memóriakezelési probléma az integrációs modul egy régi verziójában. Ha önkiszolgáló integrációs modult használ, és a verzió korábbi, mint 3.20.7159.1, javasoljuk, hogy frissítsen a legújabb verzióra.
    Ha a hibaüzenet a "java.lang.OutOfMemory" sztringet tartalmazza, az integrációs modul nem rendelkezik elegendő erőforrással a fájlok feldolgozásához. Korlátozza az egyidejű futtatásokat az integrációs futtatókörnyezetben. Saját üzemeltetésű integrációs modul esetén skálázhat fel egy 8 GB-nál nagyobb memóriával rendelkező, nagy teljesítményű gépre.
    Ha a hibaüzenet a "NullPointerReference" sztringet tartalmazza, átmeneti hiba lehet. Retry the operation. Ha a probléma továbbra is fennáll, forduljon az ügyfélszolgálathoz.

Hibakód: ParquetInvalidFile

  • Üzenet: File is not a valid Parquet file.

  • Ok: Ez egy Parquet-fájllal kapcsolatos probléma.

  • Javaslat: Ellenőrizze, hogy a bemenet érvényes Parquet-fájl-e.

Hibakód: ParquetNotSupportedType

Hibakód: ParquetMissedDecimalPrecisionScale

  • Üzenet: Decimal Precision or Scale information is not found in schema for column: %column;.

  • Ok: A szám pontossága és skálázása elemzésre került, de nem adott meg ilyen információt.

  • Javaslat: A forrás nem a megfelelő pontosságot és skálázási információkat adja vissza. Az információkért tekintse meg a probléma oszlopot.

Hibakód: ParquetInvalidDecimalPrecisionScale

  • Üzenet: Invalid Decimal Precision or Scale. Precision: %precision; Scale: %scale;.

  • Ok: A séma érvénytelen.

  • Javaslat: Ellenőrizze a probléma oszlopában a pontosságot és a skálázást.

Hibakód: ParquetColumnNotFound

  • Üzenet: Column %column; does not exist in Parquet file.

  • Ok: A forrásséma nem egyezik a fogadósémával.

  • Javaslat: Ellenőrizze a tevékenység leképezéseit. Győződjön meg arról, hogy a forrásoszlop megfeleltethető a megfelelő fogadóoszlopnak.

Hibakód: ParquetInvalidDataFormat

  • Üzenet: Incorrect format of %srcValue; for converting to %dstType;.

  • Ok: Az adatok nem konvertálhatók a mappings.source fájlban megadott típusra.

  • Javaslat: Ellenőrizze duplán a forrásadatokat, vagy adja meg a megfelelő adattípust ehhez az oszlophoz a másolási tevékenység oszlopleképezésében. További információ: A másolási tevékenység által támogatott fájlformátumok és tömörítési kodekek.

Hibakód: ParquetDataCountNotMatchColumnCount

  • Üzenet: The data count in a row '%sourceColumnCount;' does not match the column count '%sinkColumnCount;' in given schema.

  • Ok: A forrásoszlopok száma és a fogadóoszlopok száma közötti eltérés.

  • Javaslat: Ellenőrizze duplán, hogy a forrásoszlopok száma megegyezik-e a fogadó oszlopszámával a leképezésben.

Hibakód: ParquetDataTypeNotMatchColumnType

  • Üzenet: The data type %srcType; is not match given column type %dstType; at column '%columnIndex;'.

  • Ok: A forrásból származó adatok nem konvertálhatók a fogadóban definiált típusra.

  • Javaslat: Adja meg a megfelelő típust a mapping.sink fájlban.

Hibakód: ParquetBridgeInvalidData

  • Üzenet: %message;

  • Ok: Az adatérték túllépte a korlátot.

  • Javaslat: Próbálkozzon újra a művelettel. Ha a probléma továbbra is fennáll, forduljon hozzánk.

Hibakód: ParquetUnsupportedInterpretation

  • Üzenet: The given interpretation '%interpretation;' of Parquet format is not supported.

  • Ok: Ez a forgatókönyv nem támogatott.

  • Javaslat: A ParquetInterpretFor nem lehet "sparkSql".

Hibakód: ParquetUnsupportFileLevelCompressionOption

  • Üzenet: File level compression is not supported for Parquet.

  • Ok: Ez a forgatókönyv nem támogatott.

  • Javaslat: Távolítsa el a "CompressionType" fájlt a hasznos adatból.

Hibakód: UserErrorJniException

  • Üzenet: Cannot create JVM: JNI return code [-6][JNI call failed: Invalid arguments.]

  • Ok: A Java virtuális gép (JVM) nem hozható létre, mert néhány érvénytelen (globális) argumentum be van állítva.

  • Javaslat: Jelentkezzen be a saját üzemeltetésű integrációs modul minden csomópontját üzemeltető gépre. Ellenőrizze, hogy a rendszerváltozó megfelelően van-e beállítva, az alábbiak szerint: _JAVA_OPTIONS "-Xms256m -Xmx16g" with memory bigger than 8 G. Indítsa újra az összes integrációs modul csomópontot, majd futtassa újra a folyamatot.

Aritmetikai túlcsordulás

  • Tünetek: A Parquet-fájlok másolásakor hibaüzenet jelenik meg: Message = Arithmetic Overflow., Source = Microsoft.DataTransfer.Common

  • Ok: Jelenleg csak a pontosság decimális <értéke = 38 és az egész rész <hossza = 20 támogatott, ha fájlokat másol az Oracle-ből a Parquetbe.

  • Megoldás: Áthidaló megoldásként a problémával rendelkező oszlopokat VARCHAR2 alakíthatja át.

Nincs enumerálási állandó

  • Tünetek: Hibaüzenet jelenik meg, amikor adatokat másol parquet formátumba: java.lang.IllegalArgumentException:field ended by &apos;;&apos;vagy: java.lang.IllegalArgumentException:No enum constant org.apache.parquet.schema.OriginalType.test.

  • Cause:

    A problémát okozhatják a fehér szóközök vagy a nem támogatott speciális karakterek (például;{}()\n\t=) az oszlopnévben, mert a Parquet nem támogatja az ilyen formátumokat.

    Például egy oszlopnév, például a contoso(teszt) a kódTokenizer st = new Tokenizer(schemaString, " ;{}()\n\t"); zárójeleiben értelmezi a típust. A hiba azért jelenik meg, mert nincs ilyen "teszt" típus.

    A támogatott típusok ellenőrzéséhez nyissa meg a GitHub apache/parquet-mr webhelyét.

  • Megoldás:

    Ellenőrizze duplán, hogy:

    • A fogadó oszlop nevének fehér szóközei vannak.
    • Az oszlopnév az első fehér szóközökkel rendelkező sor.
    • Az OriginalType típus támogatott. Próbálja meg elkerülni a következő speciális karakterek használatát: ,;{}()\n\t=.

Hibakód: ParquetDateTimeExceedLimit

  • Üzenet: The Ticks value '%ticks;' for the datetime column must be between valid datetime ticks range -621355968000000000 and 2534022144000000000.

  • Ok: Ha a dátum/idő érték "0001-01-01 00:00:00", akkor a Julián naptár és a Gergely-naptár közötti különbség okozhatja. További részletekért tekintse meg a Julián és a gergely-naptár dátumának különbségét.

  • Megoldás: Ellenőrizze a osztás értékét, és ne használja a "0001-01-01 00:00:00" dátum/idő értéket.

Hibakód: ParquetInvalidColumnName

  • Üzenet: The column name is invalid. Column name cannot contain these character:[,;{}()\n\t=]

  • Ok: Az oszlopnév érvénytelen karaktereket tartalmaz.

  • Megoldás: Adja hozzá vagy módosítsa az oszlopleképezést, hogy a fogadó oszlop neve érvényes legyen.

A másolási adattevékenység által létrehozott fájl kinyer egy táblát, amely egy varbináris (max) oszlopot tartalmaz

  • Tünetek: A másolási adattevékenység által létrehozott Parquet-fájl kinyer egy táblát, amely egy varbináris (max) oszlopot tartalmaz.

  • Ok: Ezt a problémát a nagy oszlop olvasásának Parquet-mr könyvtárhibája okozza.

  • Megoldás: Próbáljon kisebb fájlokat létrehozni (1G méretű < ), fájlonként 1000 sor korlátozásával.

További hibaelhárítási segítségért próbálja ki az alábbi erőforrásokat: