Поделиться через


Анализ данных

Применимо к: SQL Server Integration Runtime служб SSIS в Фабрика данных Azure

Потоки данных в пакетах извлекают и загружают данные между разнородными хранилищами данных, которые могут использовать различные стандартные и пользовательские типы данных. В потоке данных источники служб Службы Integration Services выполняют извлечение, анализ строковых данных и преобразование в тип данных служб Службы Integration Services . Последующие преобразования могут анализировать данные для их преобразования в другой тип данных или для создания копий столбцов с различными типами данных. Выражения, используемые в компонентах, могут также приводить аргументы и операнды к различным типам данных. Наконец, когда данные загружены в хранилище данных, целевой объект может проанализировать данные для их преобразования в используемый этим назначением тип данных. Дополнительные сведения см. в разделе Integration Services Data Types.

Два типа синтаксического анализа

Службы Integration Services предусматривают два типа анализа для преобразования данных: быстрый и стандартный синтаксический анализ.

  • Быстрый анализ — это быстрый, простой набор операций анализа, не поддерживающий преобразования местных типов данных и поддерживающий только наиболее часто используемые форматы даты и времени.

  • Стандартный анализ — это большой набор операций анализа, поддерживающий преобразования всех типов данных, предусмотренных интерфейсами автоматического преобразования типов данных API-интерфейса в библиотеках Oleaut32.dll и Ole2dsip.dll.

Fast Parse

Быстрый синтаксический анализ обеспечивает быстрый и простой набор процессов для анализа данных. Эти процедуры не учитывают локали и поддерживают только подмножество форматов дат, времени и целых чисел.

Требования и ограничения

Выполняя быстрый синтаксический анализ, пакет теряет способность интерпретировать дату, время и числовые данные с учетом локали, а также многие часто используемые базовые и расширенные форматы ISO 8601, но производительность пакета увеличивается. Например, быстрый синтаксический анализ поддерживает только наиболее общеупотребительные представления формата даты, такие как ГГГГММДД и ГГГГ-ММ-ДД, он не выполняет анализ, зависящий от локалей, не распознает специальные символы в валютных данных и не преобразует шестнадцатеричное или экспоненциальное представление целочисленных значений.

Быстрый синтаксический анализ доступен только при использовании источника неструктурированных файлов или преобразования «Преобразование данных». Увеличение производительности может иметь значение, поэтому, если возможно, нужно принять во внимание использование быстрого синтаксического анализа в этих компонентах потока данных.

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

Усеченные представления, которые неявно подразумевают одну или более частей даты, такие как век, год или месяц, не распознаются быстрым синтаксическим анализом. Например, быстрый анализ не распознает ни формат "-ГГММ", который указывает год и месяц подразумеваемого века, ни формат "--MM", который указывает месяц подразумеваемого года. Однако распознаются некоторые представления с невысокой точностью. Например, быстрый анализ распознает формат «ччмм;», который указывает только часы и минуты, и формат «ГГГГ», который указывает только год.

Быстрый анализ указывается на уровне столбцов. В источнике неструктурированных файлов и преобразовании «Преобразование данных» можно указать быстрый анализ в выходных столбцах. Вход и выход может содержать как чувствительные к локалю, так и нечувствительные к локалю столбцы.

Форматы числовых данных (быстрый синтаксический анализ)

Быстрый синтаксический анализ предоставляет набор простых, не зависящих от локалей процедур синтаксического анализа данных. Он поддерживает только ограниченный набор форматов числовых типов данных.

Целочисленный тип данных

Службы Службы Integration Services предоставляют следующие целочисленные типы данных: DT_I1, DT_UI1, DT_I2, DT_UI2, DT_I4, DT_UI4, DT_I8 и DT_UI8. Дополнительные сведения см. в разделе Integration Services Data Types.

Быстрый синтаксический анализ поддерживает следующие форматы целочисленных типов данных:

  • Ноль или более начальных и конечных пробелов или остановок табулятора. Например, "123" является допустимым значением. в котором все пробелы считаются нулями.

  • Начальный знак плюс, минус или без знака. Например, допустимыми являются значения +123, -123 и 123.

  • Одна или более арабских цифр (0-9). Например, допустимым является значение 345. Цифры других языков не поддерживаются.

Не поддерживаются следующие форматы данных:

  • Специальные символы. К примеру, денежный символ $ не поддерживается, т.е. синтаксический анализ значения $20 невозможен.

  • Такие символы пустого пространства, как перевод строки, возврат каретки и неразрывный пробел. Например, синтаксический анализ значения « 123» невозможен.

  • Шестнадцатеричное представление целых чисел. Например, синтаксический анализ значения 2EE невозможен.

  • Экспоненциальное представление целых чисел. Например, синтаксический анализ значения 1E+10 невозможен.

Для целых чисел используются следующие форматы выходных данных:

  • Знак минус для отрицательных чисел и отсутствие знака для положительных.

  • Без пробелов.

  • Одна или более арабских цифр (0-9).

Форматы даты и времени (быстрый синтаксический анализ)

Быстрый синтаксический анализ обеспечивает быстрый и простой набор процессов для анализа данных. Быстрый синтаксический анализ поддерживает следующие форматы даты и времени.

Тип данных «date»

Быстрый синтаксический анализ поддерживает следующие строковые форматы даты.

  • Форматы даты, включающие начальные пробельные символы. Например, значение « 03- 02- 2004» допустимо.

  • Форматы ISO 8601, перечисленные в следующей таблице.

    Формат Описание
    ГГГГММДД

    ГГГГ-ММ-ДД
    Базовый и расширенный форматы с четырехзначным годом, двузначным месяцем и двузначным днем. В расширенном формате отдельные элементы даты разделяются дефисом (-).
    ГГГГ-ММ Базовый и расширенный форматы пониженной точности с четырехзначным годом и двузначным месяцем. В расширенном формате отдельные элементы даты разделяются дефисом (-).
    YYYY Формат пониженной точности с четырехзначным годом.

Быстрый синтаксический анализ не поддерживает следующие форматы даты.

  • Буквенные значения месяцев. Например, формат даты 31-окт-2003 недопустим.

  • Неоднозначные форматы, такие как ДД-ММ-ГГГГ и ММ-ДД-ГГГГ. Например, даты 03-04-1995 и 04-03-1995 недопустимы.

  • Базовый и расширенный усеченный формат с четырехзначным календарным годом и трехзначным номером дня года, ГГГГДДД и ГГГГ-ДДД.

  • Базовый и расширенный формат с четырехзначным годом, двузначным номером недели года и однозначным номером дня недели, ГГГГНннД и ГГГГ-Ннн-Д.

  • Базовый и расширенный усеченный формат с четырехзначным годом и двузначным номером недели, ГГГГНнн и ГГГГ-Ннн

Быстрый синтаксический анализ выводит данные как DT_DBDATE. Значения даты в усеченных форматах дополняются справа. Например, ГГГГ становится ГГГГ0101.

Дополнительные сведения см. в разделе Integration Services Data Types.

Временной тип данных

Быстрый синтаксический анализ поддерживает следующие строковые форматы времени.

  • Форматы времени, включающие начальные пробельные символы. Например, значение « 10:24» допустимо.

  • 24-часовой формат. Быстрый синтаксический анализ не поддерживает нотацию AM и PM.

  • Форматы времени ISO 8601, перечисленные в следующей таблице.

    Формат Описание
    ЧЧММСС

    ЧЧ:ММ:СС
    Базовый и расширенный форматы с двузначными часами, двузначными минутами и двузначными секундами. В расширенном формате отдельные элементы времени разделяются двоеточием (:).
    ЧЧММ

    ЧЧ:ММ
    Базовый и расширенный усеченные форматы с двузначными часами и двузначными минутами. В расширенном формате отдельные элементы времени разделяются двоеточием (:).
    HH Усеченный формат с двузначными часами.
    00:00:00

    000000

    0000

    00

    240000

    24:00:00

    2400

    24
    Формат полуночи.
  • Форматы времени, указывающие часовой пояс, перечислены в следующей таблице.

    Формат Описание
    +ЧЧ:ММ

    +ЧЧММ
    Базовый и расширенный форматы, показывающие часы и минуты, которые следует добавить ко времени в формате UTC, чтобы получить местное время.
    -ЧЧ:ММ

    -ЧЧММ
    Базовый и расширенный форматы, показывающие часы и минуты, которые следует вычесть из времени в формате UTC, чтобы получить местное время.
    +ЧЧ Усеченный формат, показывающий часы, которые следует добавить ко времени в формате UTC, чтобы получить местное время.
    -ЧЧ Усеченный формат, показывающий часы, которые следует вычесть из времени в формате UTC, чтобы получить местное время.
    Z Значение 0, показывающее, что время представлено в формате UTC.

    Все форматы времени и даты-времени могут включать элемент часового пояса. Однако система не будет учитывать значение часового пояса, если только данные не имеют тип DT_DBTIMESTAMPOFFSET. Дополнительные сведения см. в разделе Integration Services Data Types.

    В форматах, включающих элемент часового пояса, между элементами времени и часового пояса нет пробелов, как показано в следующем примере.

    ЧЧ:ММ:СС[+ЧЧ:ММ]

    Квадратные скобки в предыдущем примере означают, что значение часового пояса необязательно.

  • Форматы времени, содержащие десятичную дробную часть, перечислены в следующей таблице.

    Формат Описание
    ЧЧ[.ннннннн] н — значение, представляющее долю часа и лежащее в диапазоне от 0 до 9999999. Квадратные скобки указывают, что значение является необязательным.

    Например, значение 12.750 означает 12:45.
    ЧЧММ[.ннннннн]

    ЧЧ:ММ[.ннннннн]
    н — значение, представляющее долю минуты и лежащее в диапазоне от 0 до 9999999. Квадратные скобки указывают, что значение является необязательным.

    Например, значение 1220.500 означает 12:20:30.
    ЧЧММСС[.ннннннн]

    ЧЧ:ММ:СС[.ннннннн]
    н — значение, представляющее долю секунды и лежащее в диапазоне от 0 до 9999999. Квадратные скобки указывают, что значение является необязательным.

    Например, значение 122040.250 означает 12:20:40:0,15.

    Примечание

    Разделителем целой и дробной части для форматов времени в предыдущей таблице может быть точка или запятая.

  • Значения времени, включающие корректировочную секунду, показаны в следующих примерах.

    23:59:60[.0000000]

    235960[.0000000]

Быстрый синтаксический анализ выводит строки как DT_DBTIME и DT_DBTIME2. Значения времени в усеченных форматах дополняются справа. Например, ЧЧ:ММ превращается в ЧЧ:ММ:00.000.

Дополнительные сведения см. в разделе Integration Services Data Types.

Тип данных дата-время

Быстрый синтаксический анализ поддерживает следующие строковые форматы даты-времени.

  • Форматы, включающие начальные пробельные символы. Например, значение "2003-01-10T203910" является допустимым.

  • Сочетания допустимых форматов даты и допустимых форматов времени, разделенных заглавной буквой T, и допустимые форматы часового пояса, например ГГГГММДДT[ЧЧММСС][+ЧЧ:ММ]. Значения времени и часового пояса не требуются. Например, значение «14- 10- 2003» допустимо.

Быстрый синтаксический анализ не поддерживает интервалы времени. Например, интервал времени, выраженный начальными и конечными датой и временем в формате ГГГГММДДTччммсс/ГГГГММДДTччммсс недоступен для синтаксического анализа.

Быстрый синтаксический анализ выводит строки как DT_DATE, DT_DBTIMESTAMP, DT_DBTIMESTAMP2 и DT_DBTIMESTAMPOFFSET. Значения даты-времени в усеченных форматах дополняются. В следующей таблице перечисляются значения, которые подставляются вместо пропущенных частей даты или времени.

Элемент дата-время Заполнение
Секунды Добавляется 00.
Минуты Добавляется 00:00.
Час Добавляется 00:00:00.
День Добавляется 01 в качестве дня месяца.
Month Добавляется 01 вместо месяца года.

Дополнительные сведения см. в разделе Integration Services Data Types.

Включение быстрого анализа

Свойство быстрого анализа необходимо установить для каждого столбца источника или преобразования, использующего этот анализ. Для установки этого свойства используется расширенный редактор источника «Неструктурированный файл» и преобразование «Преобразование данных».

  1. Щелкните правой кнопкой источник "Неструктурированный файл" или преобразование "Преобразование данных" и выберите Показать расширенный редактор.

  2. В диалоговом окне Расширенный редактор перейдите на вкладку Свойства входов и выходов .

  3. На панели Входы и выходы щелкните столбец, для которого нужно включить быстрый анализ.

  4. В окне «Свойства» разверните узел Пользовательские свойства и задайте свойству FastParse значение True.

  5. Нажмите кнопку ОК.

Standard Parse

Стандартный синтаксический анализ является зависящим от локалей набором процедур синтаксического анализа, которые поддерживают все преобразования типов данных, предоставляемые API-интерфейсами автоматизации преобразования типов данных, доступными в библиотеках Oleaut32.dll и Ole2dsip.dll. Стандартный синтаксический анализ является эквивалентом API-интерфейсов синтаксического анализа OLE DB.

Стандартный синтаксический анализ поддерживает преобразование международных типов данных, которое нужно использовать, если формат данных не поддерживается быстрым синтаксическим анализом.