Профилирование данных в файле через SSIS
Я новичок в разработке служб SSIS. Мне нужны рекомендации экспертов по службам SSIS. Ниже приведен список вопросов:
У нас есть файлы размером от 1 ГБ до 25 ГБ типа TXT или DAT с разделителями табуляции. Иногда этот файл может содержать недопустимые строки, недопустимые типы данных или большое количество строковых значений, что приводит к ошибке при импорте данных файла в таблицы SQL.
Может ли кто-нибудь предоставить информацию о том, как выполнить профилирование данных в файле перед загрузкой в реальные таблицы SQL, например
- Нет недопустимой строки, в столбцах которой есть значения NULL. Нет строк, присутствующих в файлах. Нет строки с неправильным значением типа данных в столбце, например: существует вероятность удержания файла
строковые данные в поле int - Некоторое время Разделитель строк между столбцами, например: Если в файлах 10 столбцов, Если между 5-6 столбцами есть разделитель строк, это приводит к тому, что данные текущей строки из 6 - 10 столбцов перемещаются в следующую строку. Этот сценарий должен быть проверен в Data Profiler.
- Есть ли способ в SSMS идентифицировать все столбцы в каждой строке равной длины столбца. Incase, если это не настоящая ошибка броска. Но выявление этих строк должно быть быстрее
1 ответ
Когда вы открываете задачу потока данных, вместо загрузки данных в существующую таблицу вы создаете новую таблицу внутри целевой задачи. Он автоматически создаст таблицу с точно такими же типами / размерами данных из исходного файла. После этого вы можете преобразовать свои данные и манипулировать ими по своему усмотрению, а затем загрузить их в свою финальную таблицу.
Я бы импортировал текстовые файлы в таблицы SQL со всеми столбцами, установленными в NVARCHAR 4000. IMO, это лучшая практика даже на производстве - вы никогда не можете доверять текстовым файлам.
Сделав это, вы можете указать инструмент SSIS Data Profiler на таблицы. С минимальными усилиями это даст вам богатый взгляд на данные в файлах.
Примечание. Служба SSIS не может решить проблему с разделителями строк внутри столбцов. Если ваши исходные файлы такого плохого качества, я бы отказался от источника плоских файлов служб SSIS и использовал данные, используя задачу сценария в качестве источника, с тщательно созданными функциями Split и т. Д., Чтобы попытаться проанализировать файлы. Это не тривиальная задача.
Удачи!