Устранение неполадок с соединителем формата Parquet в Фабрике данных Azure и Azure Synapse
ОБЛАСТЬ ПРИМЕНЕНИЯ: Фабрика данных Azure Azure Synapse Analytics
Совет
Попробуйте использовать фабрику данных в Microsoft Fabric, решение для аналитики с одним интерфейсом для предприятий. Microsoft Fabric охватывает все, от перемещения данных до обработки и анализа данных в режиме реального времени, бизнес-аналитики и отчетности. Узнайте, как бесплатно запустить новую пробную версию !
В этой статье приведены рекомендации по устранению распространенных проблем с соединителем формата Parquet, возникающих в Фабрике данных Azure и Synapse Analytics.
Код ошибки: ParquetJavaInvocationException
Сообщение.
An error occurred when invoking java, message: %javaException;.
Причины и рекомендации. К этой ошибке могут привести различные причины. Ниже приведен список возможных причин и соответствующие рекомендации.
Анализ причин Рекомендация Если в сообщении об ошибке есть строки java.lang.OutOfMemory, пространство кучи Java и doubleCapacity, обычно это ошибка управления памятью в старой версии среды выполнения интеграции. Если вы используете локальную среду IR версии ниже 3.20.7159.1, рекомендуется обновить ее до последней версии. Если в сообщении об ошибке есть строка java.lang.OutOfMemory, среда выполнения интеграции имеет недостаточно ресурсов для обработки файлов. Ограничьте количество параллельных выполнений в среде выполнения интеграции. Для локальной среды IR увеличьте ресурсы компьютера. Объем его памяти должен быть не меньше 8 ГБ. Если сообщение об ошибке содержит строку NullPointerReference, причиной может быть временная проблема. Повторите операцию. Если проблема не исчезнет, обратитесь в службу поддержки.
Код ошибки: ParquetInvalidFile
Сообщение.
File is not a valid Parquet file.
Причина. Это проблема с файлом Parquet.
Рекомендация. Убедитесь в том, что входные данные являются допустимым PARQUET-файлом.
Код ошибки: ParquetNotSupportedType
Сообщение.
Unsupported Parquet type. PrimitiveType: %primitiveType; OriginalType: %originalType;.
Причина. Формат Parquet не поддерживается в Фабрике данных Azure и конвейерах Synapse.
Рекомендация. Тщательно проверьте исходные данные согласно сведениям в разделе Поддерживаемые форматы файлов и кодеки сжатия для действия копирования.
Код ошибки: ParquetMissedDecimalPrecisionScale
Сообщение.
Decimal Precision or Scale information is not found in schema for column: %column;.
Причина. Была предпринята попытка проанализировать точность числа и количество знаков после запятой, но эти сведения не были предоставлены.
Рекомендация. Источник не вернул правильные сведения о точности числа и количестве знаков после запятой. Проверьте наличие проблем в столбце.
Код ошибки: ParquetInvalidDecimalPrecisionScale
Сообщение.
Invalid Decimal Precision or Scale. Precision: %precision; Scale: %scale;.
Причина: схема недопустима.
Рекомендация. Проверьте наличие проблем с точностью числа и количеством знаков после запятой в столбце.
Код ошибки: ParquetColumnNotFound
Сообщение.
Column %column; does not exist in Parquet file.
Причина. Схема источника не соответствует схеме приемника.
Рекомендация. Проверьте сопоставления в действии. Убедитесь в том, что исходный столбец может быть сопоставлен с нужным столбцом приемника.
Код ошибки: ParquetInvalidDataFormat
Сообщение.
Incorrect format of %srcValue; for converting to %dstType;.
Причина. Невозможно преобразовать данные в тип, указанный в mappings.source.
Рекомендация. Тщательно проверьте исходные данные или укажите правильный тип данных для этого столбца в сопоставлении столбцов действия копирования. Дополнительные сведения см. в разделе Поддерживаемые форматы файлов и кодеки сжатия для действия копирования.
Код ошибки: ParquetDataCountNotMatchColumnCount
Сообщение.
The data count in a row '%sourceColumnCount;' does not match the column count '%sinkColumnCount;' in given schema.
Причина. Несоответствие числа столбцов в источнике и приемнике.
Рекомендация. Тщательно проверьте, совпадает ли в сопоставлении число столбцов в источнике с числом столбцов в приемнике.
Код ошибки: ParquetDataTypeNotMatchColumnType
Сообщение.
The data type %srcType; is not match given column type %dstType; at column '%columnIndex;'.
Причина. Данные из источника невозможно преобразовать в тип, определенный в приемнике.
Рекомендация. Укажите правильный тип в mapping.sink.
Код ошибки: ParquetBridgeInvalidData
Сообщение.
%message;
Причина. Значение данных превысило предел.
Рекомендация. Повторите операцию. Если проблема не исчезла, обратитесь к нам.
Код ошибки: ParquetUnsupportedInterpretation
Сообщение.
The given interpretation '%interpretation;' of Parquet format is not supported.
Причина. Этот сценарий не поддерживается.
Рекомендация. Параметр ParquetInterpretFor не должен иметь значение sparkSql.
Код ошибки: ParquetUnsupportFileLevelCompressionOption
Сообщение.
File level compression is not supported for Parquet.
Причина. Этот сценарий не поддерживается.
Рекомендация. Удалите CompressionType в полезных данных.
Код ошибки: UserErrorJniException
Сообщение.
Cannot create JVM: JNI return code [-6][JNI call failed: Invalid arguments.]
Причина. Невозможно создать виртуальную машину Java, так как некоторые (глобальные) аргументы заданы недопустимым образом.
Рекомендация. Войдите на каждый компьютер, на котором размещается узел локальной среды IR. Убедитесь в том, что системная переменная задана правильно:
_JAVA_OPTIONS "-Xms256m -Xmx16g" with memory bigger than 8 G
. Перезапустите все узлы IR, а затем повторно запустите конвейер.
Переполнение при арифметической операции
Симптомы. При копировании файлов Parquet возникла ошибка:
Message = Arithmetic Overflow., Source = Microsoft.DataTransfer.Common
.Причина. В настоящее время при копировании файлов из Oracle в Parquet поддерживаются только десятичные значения с точностью <= 38 и длиной целочисленной части <= 20.
Решение. В качестве обходного пути можно преобразовать любые проблемные столбцы в VARCHAR2.
Нет константы перечисления
Симптомы. Произошла ошибка при копировании данных в формат Parquet:
java.lang.IllegalArgumentException:field ended by ';'
илиjava.lang.IllegalArgumentException:No enum constant org.apache.parquet.schema.OriginalType.test
.Причина.
Эта ошибка может быть вызвана пробелами или неподдерживаемыми специальными символами (такими как ;{}()\n\t=) в имени столбца, так как Parquet не поддерживает такой формат.
Например, в имени столбца contoso(test) тип в скобках будет проанализирован этим кодом как
Tokenizer st = new Tokenizer(schemaString, " ;{}()\n\t");
. Ошибка возникает из-за отсутствия такого тестового типа.Просмотреть поддерживаемые типы можно на сайте GitHub apache/parquet-mr.
Решение.
Проверьте следующее.
- В имени столбца приемника есть пробелы.
- В качестве имени столбца используется первая строка с пробелами.
- Поддерживается тип OriginalType. Старайтесь не использовать следующие специальные символы:
,;{}()\n\t=
.
Код ошибки: ParquetDateTimeExceedLimit
Сообщение.
The Ticks value '%ticks;' for the datetime column must be between valid datetime ticks range -621355968000000000 and 2534022144000000000.
Причина. Если значение datetime равно "0001-01-01 00:00:00", это может быть вызвано различиями между юлианским и григорианским календарями. Дополнительные сведения см. в статье Различие между датами юлианского и пролептического григорианского календарей.
Решение. Проверьте значение числа тактов и старайтесь не использовать значение datetime "0001-01-01 00:00:00".
Код ошибки: ParquetInvalidColumnName
Сообщение.
The column name is invalid. Column name cannot contain these character:[,;{}()\n\t=]
Причина. Название столбца содержит недопустимые символы.
Решение. Добавьте или измените сопоставление столбцов, чтобы имя столбца приемника было допустимым.
В файл, созданный действием копирования данных, извлекается таблица, содержащая столбец varbinary (max).
Симптомы. В PARQUET-файл, созданный действием копирования данных, извлекается таблица, содержащая столбец varbinary (max).
Причина. Эта проблема вызвана ошибкой в библиотеке Parquet-mr, возникающей при чтении большого столбца.
Решение. Попробуйте создавать небольшие файлы (< 1 ГБ) с ограничением в 1000 строк на файл.
Связанный контент
Для получения дополнительных сведений об устранении неполадок воспользуйтесь следующими ресурсами: