Формат файлов 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 . |
Да |
sheetName | Имя листа Excel для чтения данных. | Следует задать значение sheetName или sheetIndex |
sheetIndex | Индекс листа Excel для чтения данных (начинается с 0). | Следует задать значение sheetName или sheetIndex |
range | Диапазон ячеек на данном листе для нахождения избранных данных, например: - не указано: считывается весь лист в виде таблицы из первой непустой строки и столбца; - A3 : таблица считывается, начиная с заданной ячейки, при этом динамически обнаруживаются все строки ниже и все столбцы справа;- A3:H5 : указанный фиксированный диапазон считывается в виде таблицы;- A3:A3 : считывается указанная отдельная ячейка. |
No |
firstRowAsHeader | Следует ли рассматривать первую строку в заданном листе или диапазоне как строку заголовка с именами столбцов. Допустимые значения: true и false (по умолчанию). |
No |
nullValue | Задает строковое представление значения NULL. Значение по умолчанию — пустая строка. |
No |
compression | Группа свойств для настройки сжатия файлов. Настройте этот раздел, если требуется сжатие/распаковка при выполнении действия. | No |
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>/ . |
№ |
level (в разделе compression ) |
Коэффициент сжатия. Допустимые значения: оптимальный или самый быстрый. - Fastest: операция сжатия должна выполняться как можно быстрее, даже если итоговый файл будет сжат не оптимально. - Optimal: операция сжатия должна выполняться оптимально, даже если для ее завершения требуется больше времени. Дополнительные сведения см. в разделе Уровень сжатия. |
No |
Ниже приведен пример набора данных 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 в качестве источника
В разделе источника *source* действия копирования поддерживаются указанные ниже свойства.
Свойство | Описание: | Обязательное поле |
---|---|---|
type | Для свойства type действия Copy необходимо задать значение ExcelSource. | Да |
storeSettings | Группа свойств, определяющих способ чтения данных из хранилища данных. Каждый файловый соединитель поддерживает собственный набор параметров чтения в разделе storeSettings . |
No |
"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. Изменить эти свойства можно на вкладке Параметры источника. При использовании встроенного набора данных будут отображаться дополнительные параметры, совпадающие со свойствами, описанными в разделе Свойства набора данных.
Имя | Описание | Обязательное поле | Допустимые значения | Свойство скрипта для потока данных |
---|---|---|---|---|
Пути с подстановочными знаками | Будут обработаны все файлы, соответствующие пути с подстановочными знаками. Переопределяет папку и путь к файлу, заданные в наборе данных. | no | String[] | wildcardPaths |
Корневой путь раздела | Для секционированных файловых данных можно ввести корневой путь к секции, чтобы считывать секционированные папки как столбцы | no | Строка | partitionRootPath |
Список файлов | Сообщает о том, указывает ли источник на текстовый файл, в котором перечислены файлы для обработки. | no | true или false |
fileList |
Столбец для хранения имени файла | Предписывает создать столбец с именем и путем исходного файла. | no | Строка | rowUrlColumn |
After completion (После завершения) | Инструкции в отношении удаления или перемещения файлов после обработки. Путь к файлу начинается с корня контейнера. | no | Удаление: true или false Перемещение: ['<from>', '<to>'] |
Очистка файлов moveFiles |
Фильтр по последнему изменению | Задает фильтр для файлов по времени последнего изменения | no | Метка времени | modifiedAfter modifiedBefore |
Allow no files found (Разрешить ненайденные файлы) | Когда задано значение true, ошибка не возникает, если файлы не найдены | no | true или false |
ignoreNoFilesFound |
Пример источника
Ниже приведен пример конфигурации источника Excel в потоках данных для сопоставления при использовании режима набора данных.
Связанный скрипта потока данных:
source(allowSchemaDrift: true,
validateSchema: false,
wildcardPaths:['*.xls']) ~> ExcelSource
При использовании встроенного набора данных в потоке данных для сопоставления отображаются следующие параметры источника.
Связанный скрипта потока данных:
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 для перемещения файла.