Delen via


Problemen met de Parquet-indelingsconnector in Azure Data Factory en Azure Synapse oplossen

VAN TOEPASSING OP: Azure Data Factory Azure Synapse Analytics

Tip

Probeer Data Factory uit in Microsoft Fabric, een alles-in-één analyseoplossing voor ondernemingen. Microsoft Fabric omvat alles, van gegevensverplaatsing tot gegevenswetenschap, realtime analyses, business intelligence en rapportage. Meer informatie over het gratis starten van een nieuwe proefversie .

Dit artikel bevat suggesties voor het oplossen van veelvoorkomende problemen met de Parquet-indelingsconnector in Azure Data Factory en Azure Synapse.

Foutcode: ParquetJavaInvocationException

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

  • Oorzaken en aanbevelingen: Verschillende oorzaken kunnen tot deze fout leiden. Bekijk de onderstaande lijst voor mogelijke oorzaakanalyse en gerelateerde aanbevelingen.

    Oorzaakanalyse Aanbeveling
    Wanneer het foutbericht de tekenreeksen 'java.lang.OutOfMemory', 'Java heap space' en 'doubleCapacity' bevat, is dit meestal een probleem met geheugenbeheer in een oude versie van Integration Runtime. Als u zelf-hostende IR gebruikt en de versie ouder is dan 3.20.7159.1, raden we u aan een upgrade uit te voeren naar de nieuwste versie.
    Wanneer het foutbericht de tekenreeks 'java.lang.OutOfMemory' bevat, beschikt de Integration Runtime niet over voldoende resources om de bestanden te verwerken. Beperk de gelijktijdige uitvoeringen op de integratieruntime. Voor zelf-hostende IR kunt u omhoog schalen naar een krachtige computer met geheugen dat gelijk is aan of groter is dan 8 GB.
    Wanneer het foutbericht de tekenreeks NullPointerReference bevat, kan dit een tijdelijke fout zijn. Voer de bewerking opnieuw uit. Neem contact op met de ondersteuning als het probleem zich blijft voordoen.

Foutcode: ParquetInvalidFile

  • Bericht: File is not a valid Parquet file.

  • Oorzaak: Dit is een Probleem met het Parquet-bestand.

  • Aanbeveling: Controleer of de invoer een geldig Parquet-bestand is.

Foutcode: ParquetNotSupportedType

  • Bericht: Unsupported Parquet type. PrimitiveType: %primitiveType; OriginalType: %originalType;.

  • Oorzaak: De Parquet-indeling wordt niet ondersteund in Azure Data Factory- en Synapse-pijplijnen.

  • Aanbeveling: controleer de brongegevens door naar Ondersteunde bestandsindelingen en compressiecodecs te gaan door kopieeractiviteit.

Foutcode: ParquetMissedDecimalPrecisionScale

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

  • Oorzaak: De precisie en schaal van getallen zijn geparseerd, maar er is geen dergelijke informatie opgegeven.

  • Aanbeveling: De bron retourneert niet de juiste precisie en schaalgegevens. Controleer de kolom met het probleem voor de informatie.

Foutcode: ParquetInvalidDecimalPrecisionScale

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

  • Oorzaak: Het schema is ongeldig.

  • Aanbeveling: Controleer de probleemkolom op precisie en schaal.

Foutcode: ParquetColumnNotFound

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

  • Oorzaak: Het bronschema komt niet overeen met het sinkschema.

  • Aanbeveling: Controleer de toewijzingen in de activiteit. Zorg ervoor dat de bronkolom kan worden toegewezen aan de juiste sinkkolom.

Foutcode: ParquetInvalidDataFormat

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

  • Oorzaak: De gegevens kunnen niet worden geconverteerd naar het type dat is opgegeven in mappings.source.

  • Aanbeveling: controleer de brongegevens of geef het juiste gegevenstype voor deze kolom op in de kolomtoewijzing voor kopieeractiviteit. Zie Ondersteunde bestandsindelingen en compressiecodecs door de kopieeractiviteit voor meer informatie.

Foutcode: ParquetDataCountNotMatchColumnCount

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

  • Oorzaak: Een verschil tussen het aantal bronkolommen en het aantal sinkkolommen.

  • Aanbeveling: controleer of het aantal bronkolommen gelijk is aan het aantal sinkkolommen in 'toewijzing'.

Foutcode: ParquetDataTypeNotMatchColumnType

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

  • Oorzaak: De gegevens uit de bron kunnen niet worden geconverteerd naar het type dat is gedefinieerd in de sink.

  • Aanbeveling: Geef een correct type in mapping.sink op.

Foutcode: ParquetBridgeInvalidData

  • Bericht: %message;

  • Oorzaak: De gegevenswaarde heeft de limiet overschreden.

  • Aanbeveling: Voer de bewerking opnieuw uit. Neem contact met ons op als het probleem zich blijft voordoen.

Foutcode: ParquetUnsupportedInterpretation

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

  • Oorzaak: dit scenario wordt niet ondersteund.

  • Aanbeveling: ParquetInterpretFor mag niet 'sparkSql' zijn.

Foutcode: ParquetUnsupportFileLevelCompressionOption

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

  • Oorzaak: dit scenario wordt niet ondersteund.

  • Aanbeveling: 'CompressionType' verwijderen in de nettolading.

Foutcode: UserErrorJniException

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

  • Oorzaak: Een JVM (Java Virtual Machine) kan niet worden gemaakt omdat er een aantal ongeldige (globale) argumenten zijn ingesteld.

  • Aanbeveling: Meld u aan bij de computer waarop elk knooppunt van uw zelf-hostende IR wordt gehost. Controleer of de systeemvariabele correct is ingesteld, als volgt: _JAVA_OPTIONS "-Xms256m -Xmx16g" with memory bigger than 8 G Start alle IR-knooppunten opnieuw op en voer de pijplijn opnieuw uit.

Rekenkundige overloop

  • Symptomen: Er is een foutbericht opgetreden bij het kopiëren van Parquet-bestanden: Message = Arithmetic Overflow., Source = Microsoft.DataTransfer.Common

  • Oorzaak: Momenteel worden alleen decimaaltekens <= 38 en lengte van geheel <getal = 20 ondersteund wanneer u bestanden kopieert van Oracle naar Parquet.

  • Oplossing: Als tijdelijke oplossing kunt u kolommen met dit probleem converteren naar VARCHAR2.

Geen opsommingsconstante

  • Symptomen: Er is een foutbericht opgetreden bij het kopiëren van gegevens naar Parquet-indeling: java.lang.IllegalArgumentException:field ended by &apos;;&apos;, of: java.lang.IllegalArgumentException:No enum constant org.apache.parquet.schema.OriginalType.test.

  • Oorzaak:

    Het probleem kan worden veroorzaakt door spaties of niet-ondersteunde speciale tekens (zoals;{}()\n\t=) in de kolomnaam, omdat Parquet een dergelijke indeling niet ondersteunt.

    Een kolomnaam zoals contoso(test) parseert bijvoorbeeld het type tussen haakjes uit codeTokenizer st = new Tokenizer(schemaString, " ;{}()\n\t");. De fout wordt gegenereerd omdat er geen dergelijk testtype is.

    Als u ondersteunde typen wilt controleren, gaat u naar de GitHub apache/parquet-mr-site.

  • Oplossing:

    Controleer of:

    • De naam van de sinkkolom bevat spaties.
    • De eerste rij met spaties wordt gebruikt als kolomnaam.
    • Het type OriginalType wordt ondersteund. Probeer te voorkomen dat u deze speciale tekens gebruikt: ,;{}()\n\t=.

Foutcode: ParquetDateTimeExceedLimit

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

  • Oorzaak: Als de datum/tijd-waarde 0001-01-01 00:00:00 is, kan dit worden veroorzaakt door het verschil tussen Julian Calendar en Gregoriaanse Kalender. Raadpleeg voor meer informatie Het verschil tussen Juliaanse en proleptische Gregoriaanse kalenderdatums.

  • Oplossing: Controleer de tekenwaarde en vermijd het gebruik van de datum/tijd-waarde '0001-01-01 00:00:00'.

Foutcode: ParquetInvalidColumnName

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

  • Oorzaak: De kolomnaam bevat ongeldige tekens.

  • Oplossing: Voeg de kolomtoewijzing toe of wijzig deze om de naam van de sinkkolom geldig te maken.

Het bestand dat is gemaakt door de kopieergegevensactiviteit extraheert een tabel die een varbinaire kolom (max) bevat

  • Symptomen: Het Parquet-bestand dat is gemaakt door de kopieergegevensactiviteit extraheert een tabel die een varbinaire kolom (max) bevat.

  • Oorzaak: dit probleem wordt veroorzaakt door de bibliotheekfout Parquet-mr van het lezen van grote kolommen.

  • Oplossing: Probeer kleinere bestanden (grootte < 1G) te genereren met een beperking van 1000 rijen per bestand.

Voor meer hulp bij het oplossen van problemen kunt u de volgende bronnen proberen: