Формат файлов Excel на Фабрике данных Azure и в Azure Synapse Analytics

Область применения:Фабрика данных Azure Azure Synapse Analytics

Совет

Опробуйте Фабрику данных в Microsoft Fabric, решение для аналитики "все в одном" для предприятий. Microsoft Fabric охватывает все, от перемещения данных до обработки и анализа данных, аналитики в режиме реального времени, бизнес-аналитики и создания отчетов. Узнайте, как начать новую пробную версию бесплатно!

Если вам требуется анализировать файлы Excel, следуйте инструкциям, приведенным в этой статье. Служба поддерживает расширения XLS и XLSX.

Формат Excel поддерживается для следующих соединителей: Amazon S3, хранилище, совместимое с Amazon S3, BLOB-объекты Azure, Azure Data Lake Storage 1-го поколения, Azure Data Lake Storage 2-го поколения, Файлы Azure, файловая система, FTP, облачное хранилище Google, HDFS , HTTP, Oracle Cloud Storage и SFTP. Он поддерживается в качестве источника, но не в качестве приемника.

Примечание

Формат XLS не поддерживается при использовании протокола HTTP.

Свойства набора данных

Полный список разделов и свойств, доступных для определения наборов данных, см. в статье о наборах данных. В этом разделе содержится список свойств, поддерживаемых набором данных Excel.

Свойство Описание Обязательно
type Для свойства type набора данных необходимо задать значение Excel. Да
location Параметры расположения файлов. Каждый файловый соединитель имеет собственный тип расположения и поддерживает собственный набор свойств в разделе location. Да
sheetName Имя листа Excel для чтения данных. Следует задать значение sheetName или sheetIndex
sheetIndex Индекс листа Excel для чтения данных (начинается с 0). Следует задать значение sheetName или sheetIndex
range Диапазон ячеек на данном листе для нахождения избранных данных, например:
- не указано: считывается весь лист в виде таблицы из первой непустой строки и столбца;
- A3: таблица считывается, начиная с заданной ячейки, при этом динамически обнаруживаются все строки ниже и все столбцы справа;
- A3:H5: указанный фиксированный диапазон считывается в виде таблицы;
- A3:A3: считывается указанная отдельная ячейка.
Нет
firstRowAsHeader Следует ли рассматривать первую строку в заданном листе или диапазоне как строку заголовка с именами столбцов.
Допустимые значения: true и false (по умолчанию).
Нет
nullValue Задает строковое представление значения NULL.
Значение по умолчанию — пустая строка.
Нет
compression Группа свойств для настройки сжатия файлов. Настройте этот раздел, если требуется сжатие или распаковка при выполнении действия. Нет
type
(в разделеcompression )
Кодек сжатия, используемый для чтения и записи двоичных файлов JSON.
Допустимые значения: bzip2, gzip, deflate, ZipDeflate, TarGzip, Tar, snappy или lz4. Значение по умолчанию — без сжатия.
Примечание. В настоящее время действие Copy не поддерживает кодеки snappy и lz4, а поток данных для сопоставления не поддерживает кодеки ZipDeflate, TarGzip и Tar.
Примечание. При использовании действия Copy для распаковки файлов с помощью кодека ZipDeflate и записи в хранилище файловых данных приемника файлы извлекаются в папку <path specified in dataset>/<folder named as source zip file>/.
Нет.
уровень
(в разделеcompression )
Коэффициент сжатия.
Допустимые значения: Optimal или Fastest.
- Fastest: операция сжатия должна выполняться как можно быстрее, даже если итоговый файл будет сжат не оптимально.
- Optimal: операция сжатия должна выполняться оптимально, даже если для ее завершения требуется больше времени. Дополнительные сведения см. в разделе Уровень сжатия.
Нет

Ниже приведен пример набора данных Excel в хранилище BLOB-объектов Azure:

{
    "name": "ExcelDataset",
    "properties": {
        "type": "Excel",
        "linkedServiceName": {
            "referenceName": "<Azure Blob Storage linked service name>",
            "type": "LinkedServiceReference"
        },
        "schema": [ < physical schema, optional, retrievable during authoring > ],
        "typeProperties": {
            "location": {
                "type": "AzureBlobStorageLocation",
                "container": "containername",
                "folderPath": "folder/subfolder",
            },
            "sheetName": "MyWorksheet",
            "range": "A3:H5",
            "firstRowAsHeader": true
        }
    }
}

Свойства действия копирования

Полный список разделов и свойств, используемых для определения действий, см. в статье Конвейеры и действия в фабрике данных Azure. В этом разделе приведен список свойств, поддерживаемых источником в формате Excel.

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

В разделе *Источник* действия копирования поддерживаются следующие свойства.

Свойство Описание Обязательно
type Для свойства type действия Copy необходимо задать значение ExcelSource. Да
storeSettings Группа свойств, определяющих способ чтения данных из хранилища данных. Каждый файловый соединитель поддерживает собственный набор параметров чтения в разделе storeSettings. Нет
"activities": [
    {
        "name": "CopyFromExcel",
        "type": "Copy",
        "typeProperties": {
            "source": {
                "type": "ExcelSource",
                "storeSettings": {
                    "type": "AzureBlobStorageReadSettings",
                    "recursive": true
                }
            },
            ...
        }
        ...
    }
]

Свойства потока данных для сопоставления

В потоках данных для сопоставления можно читать и записывать данные формата Excel в следующих хранилищах данных: Хранилище BLOB-объектов Azure, Azure Data Lake Storage 1-го поколения, Azure Data Lake Storage 2-го поколения, Amazon S3 и SFTP. Указывать на файлы Excel можно либо с помощью набора данных Excel, либо с помощью встроенного набора данных.

Свойства источника

В приведенной ниже таблице перечислены свойства, поддерживаемые источником данных Excel. Изменить эти свойства можно на вкладке Параметры источника. При использовании встроенного набора данных будут отображаться дополнительные параметры, совпадающие со свойствами, описанными в разделе Свойства набора данных.

Имя Описание Обязательно Допустимые значения Свойство сценария для потока данных
Пути с подстановочными знаками Будут обработаны все файлы, соответствующие пути с подстановочными знаками. Переопределяет папку и путь к файлу, заданные в наборе данных. Нет String[] wildcardPaths
Корневой путь раздела Для секционированных файловых данных можно ввести корневой путь к секции, чтобы считывать секционированные папки как столбцы Нет Строка partitionRootPath
List of files (Список файлов) Сообщает о том, указывает ли источник на текстовый файл, в котором перечислены файлы для обработки. Нет true или false fileList
Столбец для хранения имени файла Предписывает создать столбец с именем и путем исходного файла. Нет Строка rowUrlColumn
After completion (После завершения) Инструкции в отношении удаления или перемещения файлов после обработки. Путь к файлу начинается с корня контейнера. Нет Удаление: true или false
Перемещение: ['<from>', '<to>']
purgeFiles
moveFiles
Filter by last modified (Фильтр по последнему изменению) Задает фильтр для файлов по времени последнего изменения Нет Отметка времени modifiedAfter
modifiedBefore
Allow no files found (Разрешить ненайденные файлы) Когда задано значение true, ошибка не возникает, если файлы не найдены Нет true или false ignoreNoFilesFound

Пример источника данных

Ниже приведен пример конфигурации источника Excel в потоках данных для сопоставления при использовании режима набора данных.

Источник Excel

Соответствующий сценарий потока данных:

source(allowSchemaDrift: true,
    validateSchema: false,
    wildcardPaths:['*.xls']) ~> ExcelSource

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

Встроенный набор данных источника Excel

Соответствующий сценарий потока данных:

source(allowSchemaDrift: true,
    validateSchema: false,
    format: 'excel',
    fileSystem: 'container',
    folderPath: 'path',
    fileName: 'sample.xls',
    sheetName: 'worksheet',
    firstRowAsHeader: true) ~> ExcelSourceInlineDataset

Обработка очень больших файлов Excel

Соединитель Excel не поддерживает потоковое чтение для действия Copy и должен загрузить весь файл в память, прежде чем данные будут считываться. Чтобы импортировать схему, просмотреть данные или обновить набор данных Excel, данные должны возвращаться до истечения времени ожидания HTTP-запроса (100 с). Для больших файлов Excel эти операции могут не завершиться в течение этого периода времени, что приведет к ошибке тайм-аута. Если вы хотите переместить большие файлы Excel (>100 МБ) в другое хранилище данных, можно использовать один из следующих вариантов, чтобы обойти это ограничение:

  • Используйте локальную среду выполнения интеграции (SHIR), а затем используйте действие Copy для перемещения большого файла Excel в другое хранилище данных с помощью SHIR.
  • Разделите большой Excel файл на несколько небольших, а затем используйте действие Copy для перемещения папки, содержащей файлы.
  • Используйте действие потока данных для перемещения большого файла Excel в другое хранилище данных. Поток данных поддерживает потоковое чтение для Excel и может быстро перемещать / передавать большие файлы.
  • Вручную преобразуйте большой файл Excel в формат CSV, а затем используйте действие Copy для перемещения файла.

Дальнейшие действия