matlab.io.datastore.FileSet

Установленный на файл для набора файлов в datastore

Описание

matlab.io.datastore.FileSet объект помогает вам обработать большое количество файлов при перемещении через файлы итеративно. Используйте FileSet объект вместе с DsFileReader объект справиться и считать файлы из вашего datastore.

Создание

Описание

пример

fs = matlab.io.datastore.FileSet(location) создает FileSet объект для набора файлов на основе заданного местоположения.

fs = matlab.io.datastore.FileSet(location,Name,Value) задает расширение файла, включать ли подпапки или устанавливает свойства объектов. Можно задать несколько пар "имя-значение". Заключите имена в кавычки.

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

развернуть все

Файлы или папки, чтобы включать в FileSet объект в виде вектора символов, массива ячеек из символьных векторов, массива строк или структуры. Если файлы не находятся в текущей папке, то location должен быть полный или относительный путь. Файлы в подпапках заданной папки автоматически не включены в FileSet объект.

Обычно для рабочего процесса Hadoop®, когда вы задаете location как структура, это должно содержать поля FileName, Offset, и Size. Это требование позволяет вам использовать location аргумент непосредственно с initializeDatastore метод matlab.io.datastore.HadoopLocationBased класс. Для примера смотрите, Добавляет Поддержка Hadoop.

Можно использовать подстановочный символ (*) при определении location. Определение этого символа включает все файлы соответствия или все файлы в соответствующих папках в установленном на файл объекте.

Если файлы не доступны локально, то полный путь файлов или папок должен быть универсальным локатором ресурса (URL), такой как
hdfs://hostname:portnumber/path_to_file.

Типы данных: char | cell | string | struct

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: fs = matlab.io.datastore.FileSet(location,'IncludeSubfolders',true)

Включение подпапки отмечает в виде числового или логического 1 TRUE) или 0 ложь). Задайте true включать все файлы и подпапки в каждой папке или false включать только файлы в каждой папке.

Пример: 'IncludeSubfolders',true

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

Если 'FileExtensions' не задан, затем BlockedFileSet автоматически включает все расширения файла.

Пример: 'FileExtensions','.jpg'

Пример: 'FileExtensions',{'.txt','.csv'}

Свойства

развернуть все

Альтернативные пути к корню файловой системы в виде массива строк или массива ячеек. Используйте 'AlternateFileSystemRoots' когда вы создаете datastore на локальной машине, но должны получить доступ и обработать данные на другой машине (возможно различной операционной системы). Кроме того, когда обработка данных с помощью Parallel Computing Toolbox™ и MATLAB® Parallel Server™ и данных хранится на локальных машинах с копией доступных данных в облаке другой платформы или кластерных машинах, необходимо использовать 'AlternateFileSystemRoots' сопоставлять корневые пути.

  • Чтобы сопоставить набор корневых путей, которые эквивалентны друг другу, задайте 'AlternateFileSystemRoots' как массив строк. Например,

    ["Z:\datasets","/mynetwork/datasets"]

  • Чтобы сопоставить несколько наборов корневых путей, которые эквивалентны для datastore, задайте 'AlternateFileSystemRoots' как массив ячеек, содержащий несколько строк, где каждая строка представляет набор эквивалентных корневых путей. Задайте каждую строку в массиве ячеек или как массив строк или как массив ячеек из символьных векторов. Например:

    • Задайте 'AlternateFileSystemRoots' как массив ячеек строковых массивов.

      {["Z:\datasets", "/mynetwork/datasets"];...
       ["Y:\datasets", "/mynetwork2/datasets","S:\datasets"]}

    • В качестве альтернативы задайте 'AlternateFileSystemRoots' как массив ячеек массива ячеек из символьных векторов.

      {{'Z:\datasets','/mynetwork/datasets'};...
       {'Y:\datasets', '/mynetwork2/datasets','S:\datasets'}}

Значение 'AlternateFileSystemRoots' должен удовлетворить этим условиям:

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

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

  • Корневые пути уникальны и не являются подпапками друг друга.

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

Для получения дополнительной информации смотрите Настроенный Datastore для Обработки на Различных Машинах или Кластерах.

Пример: ["Z:\datasets","/mynetwork/datasets"]

Типы данных: string | cell

Это свойство доступно только для чтения.

Количество файлов в установленном на файл объекте в виде числового скаляра.

Пример: fs.NumFiles

Типы данных: double

Это свойство доступно только для чтения.

Количество файлов считано из FileSet объект в виде числового скаляра.

Пример: fs.NumFilesRead

Типы данных: double

Это свойство доступно только для чтения.

Информация о файлах в FileSet объект, возвращенный как FileInfo объект с этими свойствами:

  • Filename — Имя файла в FileSet объект. Имя содержит полный путь файла.

  • FileSize — Размер файла в количестве байтов.

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

Пример: fs.FileInfo(2)

Функции объекта

hasNextFile Определите, если установлено на файл имеет другой файл в установленном на файл
nextfile Информация о следующем файле или фрагменте файла
hasPreviousFile Определите, имеет ли установленный на файл предыдущий файл
previousfile Информация о предыдущем файле в установленном на файл
progress Определите, сколько блоков или файлов было считано
maxpartitions Максимальное количество разделов
partition Раздел установленный на файл объект
subsetСоздайте подмножество datastore или установленный на файл
reset Сбросьте установленный на файл объект

Примеры

свернуть все

Создайте установленный на файл и запросите информацию для определенных файлов в установленном на файл.

Создайте установленный на файл fs для набора файлов.

folder = {'accidents.mat','airlineResults.mat','census.mat','earth.mat'}
folder = 1x4 cell
  Columns 1 through 3

    {'accidents.mat'}    {'airlineResults...'}    {'census.mat'}

  Column 4

    {'earth.mat'}

fs = matlab.io.datastore.FileSet(folder)
fs = 
  FileSet with properties:

                    NumFiles: 4
                NumFilesRead: 0
                    FileInfo: Show FileInfo for all 4 files
    AlternateFileSystemRoots: {}

Получите информацию для определенных файлов с помощью любого nextfile функционируйте или путем запроса FileInfo свойство и определение индекса. Получите информацию для последовательных файлов с помощью nextfile. Например, получите информацию для первых двух файлов в наборе.

file1 = nextfile(fs)
file1 = 
  1x1 FileInfo
                                       Filename                                        FileSize
    _______________________________________________________________________________    ________

    "/mathworks/devel/bat/BR2020ad/build/matlab/toolbox/matlab/demos/accidents.mat"      7343  

file2 = nextfile(fs)
file2 = 
  1x1 FileInfo
                                          Filename                                           FileSize 
    ____________________________________________________________________________________    __________

    "/mathworks/devel/bat/BR2020ad/build/matlab/toolbox/matlab/demos/airlineResults.mat"    1.5042e+05

Запросите FileInfo свойство получить информацию о последнем файле в наборе.

lastfile = fs.FileInfo(4)
lastfile = 
  1x1 FileInfo
                                     Filename                                      FileSize
    ___________________________________________________________________________    ________

    "/mathworks/devel/bat/BR2020ad/build/matlab/toolbox/matlab/demos/earth.mat"     32522  

Смотрите также

Введенный в R2020a