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


Формат JSON в фабрике данных в Microsoft Fabric

В этой статье описывается настройка формата JSON в конвейере данных фабрики данных в Microsoft Fabric.

Поддерживаемые возможности

Формат JSON поддерживается для следующих действий и соединителей в качестве источника и назначения.

Категория Соединитель или действие
Поддерживаемый соединитель Amazon S3
Совместимая с Amazon S3
Хранилище BLOB-объектов Azure
Azure Data Lake Storage 1-го поколения
Azure Data Lake Storage 2-го поколения
Файлы Azure
Файловая система
FTP
Google Cloud Storage
HTTP
Lakehouse Files
Хранилище Oracle Cloud
SFTP
Поддерживаемая активность действие Copy (источник или назначение)
Действие поиска
Действие получения метаданных в Фабрике данных Azure
Действие удаления

Формат JSON в действии копирования

Чтобы настроить формат JSON, выберите подключение в исходном или целевом месте действия копирования конвейера данных, а затем выберите JSON в раскрывающемся списке формата файла. Выберите параметры для дальнейшей настройки этого формата.

Снимок экрана: параметры формата файла.

Формат JSON в качестве источника

После выбора параметров в разделе "Формат файла" в диалоговом окне "Всплывающие параметры формата файла" отображаются следующие свойства.

Снимок экрана: источник формата JSON-файла.

  • Тип сжатия: выберите кодек сжатия, используемый для чтения JSON-файлов в раскрывающемся списке. Вы можете выбрать из None, bzip2, gzip, deflate, ZipDeflate, TarGzip или tar.

    Если выбрать ZipDeflate в качестве типа сжатия, сохраните имя ZIP-файла в виде папки в разделе "Дополнительные параметры" на вкладке "Источник ".

    • Сохраните имя ZIP-файла в виде папки: указывает, следует ли сохранять имя исходного ZIP-файла в виде структуры папок во время копирования.
      • Если этот флажок установлен (по умолчанию), служба записывает распакуированные файлы <specified file path>/<folder named as source zip file>/в .
      • Если этот флажок снят, служба записывает распакуированные файлы непосредственно в <specified file path>. Чтобы избежать непредвиденных ситуаций, убедитесь в том, что в разных исходных ZIP-файлах нет файлов с одинаковыми именами.

    Если выбрать TarGzip/tar в качестве типа сжатия, сохраните имя файла сжатия в качестве папки в разделе "Дополнительные параметры" на вкладке "Источник ".

    • Сохранение имени файла сжатия в виде папки: указывает, следует ли сохранять исходное сжатое имя файла в виде структуры папок во время копирования.
      • Если этот флажок установлен (по умолчанию), служба записывает распакованные файлы <specified file path>/<folder named as source compressed file>/в .
      • Если этот флажок снят, служба записывает распакованные файлы непосредственно в <specified file path>. Чтобы избежать непредвиденных ситуаций, убедитесь в том, что в разных исходных файлах нет файлов с одинаковыми именами.
  • Уровень сжатия: коэффициент сжатия. Вы можете выбрать один из самых быстрых или оптимальных вариантов.

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

    • Optimal: операция сжатия должна выполняться оптимально, даже если для ее завершения требуется больше времени. Дополнительные сведения см. в статье уровня сжатия.

  • Кодировка: укажите тип кодирования, используемый для чтения тестовых файлов. Выберите один тип из раскрывающегося списка. Значение по умолчанию — UTF-8.

Формат JSON в качестве назначения

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

Снимок экрана: назначение формата JSON-файла.

  • Тип сжатия: выберите кодек сжатия, используемый для записи JSON-файлов в раскрывающемся списке. Вы можете выбрать из None, bzip2, gzip, deflate, ZipDeflate, TarGzip или tar.

  • Уровень сжатия: коэффициент сжатия. Вы можете выбрать вариант "Оптимальный " или "Быстрый".

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

    • Optimal: операция сжатия должна выполняться оптимально, даже если для ее завершения требуется больше времени. Дополнительные сведения см. в статье уровня сжатия.

  • Кодировка: укажите тип кодирования, используемый для записи тестовых файлов. Выберите один тип из раскрывающегося списка. Значение по умолчанию — UTF-8.

В разделе "Дополнительные параметры" на вкладке "Назначение " отображаются следующие свойства формата JSON.

  • Шаблон файла: укажите шаблон данных, хранящихся в каждом JSON-файле. Допустимые значения: набор объектов (строки JSON) и массив объектов. Значение по умолчанию — "Набор объектов". Подробные сведения об этих шаблонах см. в разделе Шаблоны файлов JSON.

Шаблоны файлов JSON

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

  • Тип 1: setOfObjects

    Каждый файл содержит один объект, строки JSON или сцепленные объекты.

    • Пример единого объекта JSON

      {
          "time": "2015-04-29T07:12:20.9100000Z",
          "callingimsi": "466920403025604",
          "callingnum1": "678948008",
          "callingnum2": "567834760",
          "switch1": "China",
          "switch2": "Germany"
      }
      
    • Строки JSON (по умолчанию для назначения)

      {"time":"2015-04-29T07:12:20.9100000Z","callingimsi":"466920403025604","callingnum1":"678948008","callingnum2":"567834760","switch1":"China","switch2":"Germany"}
      {"time":"2015-04-29T07:13:21.0220000Z","callingimsi":"466922202613463","callingnum1":"123436380","callingnum2":"789037573","switch1":"US","switch2":"UK"}
      {"time":"2015-04-29T07:13:21.4370000Z","callingimsi":"466923101048691","callingnum1":"678901578","callingnum2":"345626404","switch1":"Germany","switch2":"UK"}
      
    • Пример объединенного JSON-файла

      {
          "time": "2015-04-29T07:12:20.9100000Z",
          "callingimsi": "466920403025604",
          "callingnum1": "678948008",
          "callingnum2": "567834760",
          "switch1": "China",
          "switch2": "Germany"
      }
      {
          "time": "2015-04-29T07:13:21.0220000Z",
          "callingimsi": "466922202613463",
          "callingnum1": "123436380",
          "callingnum2": "789037573",
          "switch1": "US",
          "switch2": "UK"
      }
      {
          "time": "2015-04-29T07:13:21.4370000Z",
          "callingimsi": "466923101048691",
          "callingnum1": "678901578",
          "callingnum2": "345626404",
          "switch1": "Germany",
          "switch2": "UK"
      }
      
  • Тип 2: arrayOfObjects

    Каждый файл содержит массив объектов.

    [
        {
            "time": "2015-04-29T07:12:20.9100000Z",
            "callingimsi": "466920403025604",
            "callingnum1": "678948008",
            "callingnum2": "567834760",
            "switch1": "China",
            "switch2": "Germany"
        },
        {
            "time": "2015-04-29T07:13:21.0220000Z",
            "callingimsi": "466922202613463",
            "callingnum1": "123436380",
            "callingnum2": "789037573",
            "switch1": "US",
            "switch2": "UK"
        },
        {
            "time": "2015-04-29T07:13:21.4370000Z",
            "callingimsi": "466923101048691",
            "callingnum1": "678901578",
            "callingnum2": "345626404",
            "switch1": "Germany",
            "switch2": "UK"
        }
    ]
    

Сводка таблицы

JSON в качестве источника

Следующие свойства поддерживаются в разделе источника действия копирования при использовании формата JSON.

Имя Описание Значение Обязательное поле Свойство скрипта JSON
Формат файлов Формат файла, который требуется использовать. JSON Да тип (под datasetSettings):
Json
Тип сжатия Кодек сжатия, используемый для чтения JSON-файлов. Можно выбрать:
Не допускается
bzip2
gzip
выкачивать
ZipDeflate
TarGzip
дёготь
No тип (под compression):

bzip2
gzip
выкачивать
ZipDeflate
TarGzip
tar
Уровень сжатия Коэффициент сжатия. Самая быстрая
Оптимальный
No уровень (под compression):
Самый быстрый
Оптимально
Кодирование Тип кодирования, используемый для чтения тестовых файлов. UTF-8 (по умолчанию),"UTF-8 без BOM", "UTF-16LE", "UTF-16BE", "UTF-32LE", "UTF-32BE", "US-ASCII", "UTF-7", "BIG5", "EUC-JP", "EUC-KR", "GB2312", "GB18030", "JOHAB", "SHIFT-JIS", "CP875", "CP866", "IBM00858", "IBM037", "IBM273", "IBM437", "IBM437", "IBM500", "IBM737", "IBM737", "IBM775", "IBM850", "IBM852", "IBM855", "IBM857", "IBM860", "IBM861", "IBM863", "IBM864", "IBM865", "IBM865", "IBM865"869", "IBM870", "IBM01140", "IBM01141", "IBM01142", "IBM01143", "IBM01144", "IBM01145", "IBM01146", "IBM01147", "IBM01148", "IBM01149", "ISO-2022-JP", "ISO-2022-KR", "ISO-8859-1", ISO-8859-2", "ISO-8859-3", "ISO-8859-4", "ISO-8859-5", "ISO-8859-6", "ISO-8859-7", "ISO-8859-8", "ISO-8859-9", ISO-8859-13", "ISO-8859-15", "WINDOWS-874", "WINDOWS-1250", "WINDOWS-1251", "WINDOWS-1255" 2", "WINDOWS-1253", "WINDOWS-1254", "WINDOWS-1255", "WINDOWS-1256", "WINDOWS-1257", "WINDOWS-1258" Без encodingName
Сохранение имени ZIP-файла в качестве папки Указывает, следует ли сохранять имя исходного ZIP-файла в виде структуры папок во время копирования. Выбранный (по умолчанию) или отмена выбора No preserveZipFileNameAsFolder
(под compressionProperties->type как ZipDeflateReadSettings):
true (по умолчанию) или false
Сохранение имени файла сжатия в виде папки Указывает, следует ли сохранять исходное сжатое имя файла в виде структуры папок во время копирования. Выбранный (по умолчанию) или отмена выбора No preserveCompressionFileNameAsFolder
(под compressionProperties->type как TarGZipReadSettings или TarReadSettings):
true (по умолчанию) или false

JSON в качестве назначения

Следующие свойства поддерживаются в разделе назначения действия копирования при использовании формата JSON.

Имя Описание Значение Обязательное поле Свойство скрипта JSON
Формат файлов Формат файла, который требуется использовать. JSON Да тип (под datasetSettings):
Json
Тип сжатия Кодек сжатия, используемый для записи JSON-файлов. Можно выбрать:
Не допускается
bzip2
gzip
выкачивать
ZipDeflate
TarGzip
дёготь
No тип (под compression):

bzip2
gzip
выкачивать
ZipDeflate
TarGzip
tar
Уровень сжатия Коэффициент сжатия. Самая быстрая
Оптимальный
No уровень (под compression):
Самый быстрый
Оптимально
Кодирование Тип кодирования, используемый для записи тестовых файлов. UTF-8 (по умолчанию),"UTF-8 без BOM", "UTF-16LE", "UTF-16BE", "UTF-32LE", "UTF-32BE", "US-ASCII", "UTF-7", "BIG5", "EUC-JP", "EUC-KR", "GB2312", "GB18030", "JOHAB", "SHIFT-JIS", "CP875", "CP866", "IBM00858", "IBM037", "IBM273", "IBM437", "IBM437", "IBM500", "IBM737", "IBM737", "IBM775", "IBM850", "IBM852", "IBM855", "IBM857", "IBM860", "IBM861", "IBM863", "IBM864", "IBM865", "IBM865", "IBM865"869", "IBM870", "IBM01140", "IBM01141", "IBM01142", "IBM01143", "IBM01144", "IBM01145", "IBM01146", "IBM01147", "IBM01148", "IBM01149", "ISO-2022-JP", "ISO-2022-KR", "ISO-8859-1", ISO-8859-2", "ISO-8859-3", "ISO-8859-4", "ISO-8859-5", "ISO-8859-6", "ISO-8859-7", "ISO-8859-8", "ISO-8859-9", ISO-8859-13", "ISO-8859-15", "WINDOWS-874", "WINDOWS-1250", "WINDOWS-1251", "WINDOWS-1255" 2", "WINDOWS-1253", "WINDOWS-1254", "WINDOWS-1255", "WINDOWS-1256", "WINDOWS-1257", "WINDOWS-1258" Без encodingName
Шаблон файла Шаблон данных, хранящихся в каждом JSON-файле. Набор объектов
Массив объектов
No filePattern:
setOfObjects
arrayOfObjects