Проблема с CSV как источником в datafactory - PullRequest
0 голосов
/ 21 сентября 2018

У меня есть CSV

"Heading","Heading","Heading",LF
"Data1","Data2","Data3",LF
"Data4","Data5","Data6",LF

И для вышеуказанного ограничителя строки CSV - LF

Проблема - последняя запятая.Когда я пытаюсь просмотреть данные после установки первого столбца в качестве заголовка и пропустить строки как 0 в источнике действия копирования в фабрике данных, выдается ошибка, указывающая, что последний столбец равен нулю.

Если удалить последний comma.ie

"Heading","Heading","Heading"LF
"Data1","Data2","Data3"LF
"Data4","Data5","Data6"LF

Будет работать нормально.

Невозможно редактировать CSV, поскольку каждый CSV может содержать 500 тыс. Записей.

Как решить эту проблему?


Дополнительные сведения:

CSVя загружаю введите описание изображения здесь

Моя настройка портала Azure введите описание изображения здесь

Сообщение об ошибке при предварительном просмотре данных введите описание изображенияздесь

если я удалю первую строку в качестве заголовка, я смогу увидеть пустой столбец введите описание изображения здесь

1 Ответ

0 голосов
/ 25 сентября 2018

Пожалуйста, попробуйте установить Row delimiter как Line Feed(\n).

enter image description here

Я протестировал ваш пример CSV-файла, и он отлично работает.

enter image description here

выход:

enter image description here

Надеюсь, это вам поможет.


Я пытался создать тот же файл с вами и воспроизвести вашу проблему. Кажется, механизм проверки adf.Вам нужно удалить первую строку в качестве заголовка, чтобы избежать этой проверки.Если вы не хотите этого делать, вы должны предварительно обработать ваши CSV-файлы.

Я предлагаю вам два обходных пути.

1.Используйте триггер Http функции Azure.Вы можете передать имя файла csv в качестве параметра в функцию Azure. Затем с помощью SDK хранилища BLOB-объектов Azure обработайте файл csv для вырезания последней запятой.

https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-http-webhook

2.Используйте поток AzureАналитика.Вы можете настроить хранилище больших двоичных объектов в качестве входных данных и создать другой контейнер в качестве выходных данных.Затем используйте SQL-запрос для обработки ваших данных CSV.

https://docs.microsoft.com/en-us/azure/stream-analytics/stream-analytics-quick-create-portal

...