Ошибка вершины, ошибка кодирования в Azure Data Lake Analytics при загрузке данных. Соответствующие причины могут быть?

USE DATABASE retail;

@log=EXTRACT id int,
item string
FROM "/Retailstock/stock.txt"
USING Extractors.Tsv();

INSERT INTO sales.stock
SELECT id, item FROM @log;

Это вопрос из курса аналитики озера данных Azure. Мне нужно загрузить таблицу sales.stock со схемой продаж. Это дает ошибку вершины и ошибку кодирования.

Я не могу понять проблему после ударов головой в течение 2 дней. Спасибо.


person shubham srivastava    schedule 29.08.2017    source источник
comment
Сообщение об ошибке содержит много информации о том, в каком месте была обнаружена ошибка кодирования. Не могли бы вы поделиться информацией об ошибке?   -  person Michael Rys    schedule 29.08.2017
comment
Привет, Майкл. Ошибка возникает на этапе ИЗВЛЕЧЕНИЯ. В отображении он показывает 0 прочитанных строк.   -  person shubham srivastava    schedule 31.08.2017
comment
Если вы внимательно посмотрите на детали сообщения об ошибке, оно покажет вам шестнадцатеричный дамп кодовых точек, вызвавших ошибку кодирования. Это может помочь вам выяснить, в какой кодировке находятся данные. Часто случается так, что у вас есть кодировка ANSI (например, windows-1252) с символами верхнего диапазона, которые не поддерживаются в ASCII (7-бит) и используются в качестве escape-последовательности. символов в UTF-8. Если это так, вам в настоящее время необходимо преобразовать файл в UTF-8 перед загрузкой или написать свой собственный экстрактор (мы работаем над добавлением поддержки кодовых страниц ANSI для встроенных экстракторов).   -  person Michael Rys    schedule 31.08.2017


Ответы (2)


Это может быть связано с несоответствием кодировки. У экстракторов по умолчанию установлена ​​кодировка UTF8, и в случае, если кодировка вашего исходного файла отличается, во время извлечения произойдет ошибка времени выполнения.

Вы можете изменить кодировку, указав параметр "encoding", например:

USING Extractors.Text(encoding : Encoding.[ASCII]);

Дополнительные сведения о поддерживаемых кодировках см. здесь: Параметры экстрактора — кодировка

person maya-msft    schedule 29.08.2017
comment
Спасибо, я постараюсь вернуться к вам. - person shubham srivastava; 31.08.2017

В моем случае установка кодировки ASCII в Extractors.Text() / Extractors.Tsv() не сработала. Не уверен, почему, так как файл явно в кодировке ASCII. Мне пришлось вручную преобразовать файл в UTF-8.

person saso    schedule 10.10.2017