Problembehandlung für den Parquet-Format-Connector in Azure Data Factory und Azure Synapse Analytics

GILT FÜR: Azure Data Factory Azure Synapse Analytics

Tipp

Testen Sie Data Factory in Microsoft Fabric, eine All-in-One-Analyselösung für Unternehmen. Microsoft Fabric deckt alle Aufgaben ab, von der Datenverschiebung bis hin zu Data Science, Echtzeitanalysen, Business Intelligence und Berichterstellung. Erfahren Sie, wie Sie kostenlos eine neue Testversion starten!

Dieser Artikel enthält Vorschläge zur Behandlung häufiger Probleme mit dem Parquet-Format-Connector in Azure Data Factory und Azure Synapse Analytics.

Fehlercode: ParquetJavaInvocationException

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

  • Ursachen und Empfehlungen: Dieser Fehler kann verschiedene Ursachen haben. In der Liste unten finden Sie mögliche Ursachenanalysen und Empfehlungen.

    Ursachenanalyse Empfehlung
    Wenn die Fehlermeldung die Zeichenfolge „java.lang.OutOfMemory“, „Java heap space“ und „doubleCapacity“ enthält, liegt normalerweise ein Speicherverwaltungsproblem in einer alten Version der Integration Runtime vor. Wenn Sie selbstgehostete IR verwenden und die Version älter als 3.20.7159.1 ist, wird ein Upgrade auf die neueste Version empfohlen.
    Wenn die Fehlermeldung die Zeichenfolge „java.lang.OutOfMemory“ enthält, verfügt die Integration Runtime nicht über genügend Ressourcen zum Verarbeiten der Dateien. Begrenzen Sie die gleichzeitigen Ausführungen auf die Integration Runtime. Skalieren Sie für „Selbstgehostete IR“ auf einen leistungsfähigen Computer mit einem Arbeitsspeicher von mindestens 8 GB hoch.
    Wenn die Fehlermeldung die Zeichenfolge „NullPointerReference“ enthält, handelt es sich möglicherweise um einem vorübergehenden Fehler. Wiederholen Sie den Vorgang. Wenden Sie sich an den Support, wenn das Problem weiterhin besteht.

Fehlercode: ParquetInvalidFile

  • Meldung: File is not a valid Parquet file.

  • Ursache: Dabei handelt es sich um ein Problem mit der Parquet-Datei.

  • Empfehlung: Überprüfen Sie, ob die Eingabe eine gültige Parquet-Datei ist.

Fehlercode: ParquetNotSupportedType

Fehlercode: ParquetMissedDecimalPrecisionScale

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

  • Ursache: Die Zahlengenauigkeit und die Dezimalstellen wurden analysiert, doch diese Informationen wurden nicht bereitgestellt.

  • Empfehlung: Die Quelle gibt nicht die richtigen Genauigkeits- und Dezimalstelleninformationen zurück. Überprüfen Sie die Problemspalte auf diese Informationen.

Fehlercode: ParquetInvalidDecimalPrecisionScale

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

  • Ursache: Das Schema ist ungültig.

  • Empfehlung: Überprüfen Sie die Problemspalte auf Genauigkeit und Dezimalstellen.

Fehlercode: ParquetColumnNotFound

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

  • Ursache: Das Quellschema stimmt nicht mit dem Senkenschema überein.

  • Empfehlung: Überprüfen Sie die Zuordnungen in der Aktivität. Stellen Sie sicher, dass die Quellspalte der richtigen Senkenspalte zugeordnet werden kann.

Fehlercode: ParquetInvalidDataFormat

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

  • Ursache: Die Daten können nicht in den in „mappings.source“ angegebenen Typ konvertiert werden.

  • Empfehlung: Überprüfen Sie die Quelldaten erneut, oder geben Sie den richtigen Datentyp für diese Spalte in der Spaltenzuordnung der Copy-Aktivität an. Weitere Informationen finden Sie unter Von der Copy-Aktivität unterstützte Dateiformate und Komprimierungscodecs.

Fehlercode: ParquetDataCountNotMatchColumnCount

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

  • Ursache: Ein Konflikt zwischen der Anzahl der Quellspalten und der Anzahl der Senkenspalten.

  • Empfehlung: Überprüfen Sie erneut, ob die Anzahl der Quellspalten mit der Anzahl der Senkenspalten in „mapping“ übereinstimmt.

Fehlercode: ParquetDataTypeNotMatchColumnType

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

  • Ursache: Die Daten aus der Quelle können nicht in den Typ konvertiert werden, der in der Senke definiert ist.

  • Empfehlung: Geben Sie in „mapping.sink“ einen richtigen Typ an.

Fehlercode: ParquetBridgeInvalidData

  • Meldung: %message;

  • Ursache: Der Datenwert hat den Grenzwert überschritten.

  • Empfehlung: Wiederholen Sie den Vorgang. Wenden Sie sich an uns, wenn das Problem weiterhin besteht.

Fehlercode: ParquetUnsupportedInterpretation

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

  • Ursache: Dieses Szenario wird nicht unterstützt.

  • Empfehlung: „ParquetInterpretFor“ darf nicht „sparkSql“ lauten.

Fehlercode: ParquetUnsupportFileLevelCompressionOption

  • Meldung: File level compression is not supported for Parquet.

  • Ursache: Dieses Szenario wird nicht unterstützt.

  • Empfehlung: Entfernen Sie „CompressionType“ in den Nutzdaten.

Fehlercode: UserErrorJniException

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

  • Ursache: Eine JVM-Instanz (Java Virtual Machine) kann nicht erstellt werden, da einige ungültige (globale) Argumente festgelegt wurden.

  • Empfehlung: Melden Sie sich bei dem Computer an, auf dem jeder Knoten Ihrer selbstgehosteten IR gehostet wird. Stellen Sie wie folgt sicher, dass die Systemvariable ordnungsgemäß festgelegt ist: _JAVA_OPTIONS "-Xms256m -Xmx16g" with memory bigger than 8 G. Starten Sie alle IR-Knoten neu, und führen Sie dann die Pipeline erneut aus.

Arithmetischer Überlauf

  • Symptome: Beim Kopieren von Parquet-Dateien ist eine Fehlermeldung aufgetreten: Message = Arithmetic Overflow., Source = Microsoft.DataTransfer.Common

  • Ursache: Derzeit werden beim Kopieren von Dateien aus Oracle in das Parquet-Format nur Dezimalzahlen mit einer Genauigkeit <= 38 unterstützt, deren ganzzahliger Teil eine Länge <= 20 aufweist.

  • Lösung: Um dieses Problem zu umgehen, können Sie alle Spalten mit diesem Problem in VARCHAR2 konvertieren.

Keine Enumerationskonstante

  • Symptome: Beim Kopieren von Daten in das Parquet-Format ist eine Fehlermeldung aufgetreten: java.lang.IllegalArgumentException:field ended by &apos;;&apos; oder java.lang.IllegalArgumentException:No enum constant org.apache.parquet.schema.OriginalType.test.

  • Ursache:

    Das Problem kann durch Leerzeichen oder nicht unterstützte Sonderzeichen (z. B. ,;{}()\n\t=) im Spaltennamen verursacht werden, weil dieses Format von Parquet nicht unterstützt wird.

    Beispielsweise wird bei einem Spaltennamen wie contoso(test) der Typ in Klammern als codeTokenizer st = new Tokenizer(schemaString, " ;{}()\n\t"); analysiert. Der Fehler wird ausgelöst, weil kein solcher Typ „test“ vorhanden ist.

    Informationen zu den unterstützten Typen finden Sie auf der GitHub-Website unter apache/parquet-mr.

  • Lösung:

    Prüfen Sie erneut, ob Folgendes zutrifft:

    • Im Senkenspaltennamen sind Leerzeichen enthalten.
    • Die erste Spalte mit Leerzeichen wird als Spaltenname verwendet.
    • Der Typ „OriginalType“ wird unterstützt. Versuchen Sie, diese Sonderzeichen zu vermeiden: ,;{}()\n\t=.

Fehlercode: ParquetDateTimeExceedLimit

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

  • Ursache: Wenn der DateTime-Wert „0001-01-01 00:00:00“ lautet, kann dies durch den Unterschied zwischen julianischem Kalender und gregorianischem Kalender verursacht werden. Weitere Informationen finden Sie unter Difference between Julian and proleptic Gregorian calendar dates (Unterschiede zwischen den Datumsangaben im julianischen und proleptischen gregorianischen Kalender).

  • Lösung: Überprüfen Sie den Taktwert, und vermeiden Sie den DateTime-Wert „0001-01-01 00:00:00“.

Fehlercode: ParquetInvalidColumnName

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

  • Ursache: Der Spaltenname enthält ungültige Zeichen.

  • Lösung: Fügen Sie die Spaltenzuordnung hinzu, oder ändern Sie sie, um den Namen der Senkenspalte gültig zu machen.

Die von der Kopierdatenaktivität erstellte Datei extrahiert eine Tabelle mit einer Spalte des Typs „varbinary (max)“.

  • Symptome: Die von der Kopierdatenaktivität erstellte Parquet-Datei extrahiert eine Tabelle mit einer Spalte des Typs „varbinary (max)“.

  • Ursache: Dieses Problem wird durch den Bibliotheksfehler „Parquet-mr“ beim Lesen großer Spalten verursacht.

  • Lösung: Versuchen Sie, kleinere Dateien (Größe < 1 GB) mit einer Einschränkung von 1000 Zeilen pro Datei zu generieren.

Weitere Informationen zur Problembehandlung finden Sie in diesen Ressourcen: