datastore

Создайте datastore для большого количества данных

Синтаксис

ds = datastore(location)
ds = datastore(location,Name,Value)

Описание

ds = datastore(location) создает datastore из набора данных, заданных location. Datastore является репозиторием для наборов данных, которые являются слишком большими, чтобы уместиться в памяти. После создания ds можно считать и обработать данные.

пример

ds = datastore(location,Name,Value) задает дополнительные параметры для ds с помощью одного или нескольких аргументов пары "имя-значение". Например, можно создать datastore для файлов изображений путем определения 'Type','image'.

Примеры

свернуть все

Создайте datastore, сопоставленный с файлом примера airlinesmall.csv. Этот файл содержит данные авиакомпании с лет 1987 - 2008.

Чтобы управлять импортом недостающих данных в числовых столбцах, используйте аргумент пары "имя-значение" 'TreatAsMissing'. В этом примере, задавая значение 'NA' для 'TreatAsMissing', заменяет каждый экземпляр 'NA' с NaN в импортированных данных. Где, NaN является значением, заданным в свойстве 'MissingValue' datastore.

ds = datastore('airlinesmall.csv', ...
                   'TreatAsMissing','NA')
ds = 
  TabularTextDatastore with properties:

                      Files: {
                             ' .../devel/bat/BR2019ad/build/matlab/toolbox/matlab/demos/airlinesmall.csv'
                             }
               FileEncoding: 'UTF-8'
   AlternateFileSystemRoots: {}
          ReadVariableNames: true
              VariableNames: {'Year', 'Month', 'DayofMonth' ... and 26 more}
             DatetimeLocale: en_US

  Text Format Properties:
             NumHeaderLines: 0
                  Delimiter: ','
               RowDelimiter: '\r\n'
             TreatAsMissing: 'NA'
               MissingValue: NaN

  Advanced Text Format Properties:
            TextscanFormats: {'%f', '%f', '%f' ... and 26 more}
                   TextType: 'char'
         ExponentCharacters: 'eEdD'
               CommentStyle: ''
                 Whitespace: ' \b\t'
    MultipleDelimitersAsOne: false

  Properties that control the table returned by preview, read, readall:
      SelectedVariableNames: {'Year', 'Month', 'DayofMonth' ... and 26 more}
            SelectedFormats: {'%f', '%f', '%f' ... and 26 more}
                   ReadSize: 20000 rows

datastore создает TabularTextDatastore.

Создайте datastore, содержащий все файлы .tif в пути MATLAB® и его подпапках.

ds = datastore(fullfile(matlabroot, 'toolbox', 'matlab'),...
'IncludeSubfolders', true,'FileExtensions', '.tif','Type', 'image')
ds = 

  ImageDatastore with properties:

       Files: {
              ' ...\matlab\toolbox\matlab\demos\example.tif';
              ' ...\matlab\toolbox\matlab\imagesci\corn.tif'
              }
    ReadSize: 1
      Labels: {}
     ReadFcn: @readDatastoreImage

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

свернуть все

Файлы или папки, включенные в datastore, заданный как путь или объект DsFileSet.

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

    • Локальные файлы или папки — Задают location как локальный путь к файлам или папкам. Если файлы не находятся в текущей папке, то локальный путь должен задать полные или относительные пути. Файлы в подпапках заданной папки автоматически не включены в datastore. Можно использовать подстановочный символ (*) при определении локального пути. Этот символ указывает, что datastore включает все файлы соответствия или все файлы в соответствующих папках.

    • Удаленные файлы или папки — Задают location, чтобы быть полными путями файлов или папок как интернационализировавший идентификатор ресурса (IRI) формы hdfs:///path_to_file. Для получения дополнительной информации смотрите работу с Удаленными данными.

  • Объект DsFileSet — также можно задать location как объект DsFileSet. Для получения дополнительной информации смотрите matlab.io.datastore.DsFileSet.

Когда location представляет папку, datastore включает только поддерживаемые форматы файлов и игнорирует любой другой формат. Чтобы задать пользовательский список расширений файла, чтобы включать в ваш datastore, смотрите свойство FileExtensions.

Для KeyValueDatastore файлами должны быть MAT-файлы или файлы Последовательности, сгенерированные функцией mapreduce. MAT-файлы должны быть в локальной файловой системе или в сетевой файловой системе. Файлы последовательности могут быть в локальной, сетевой, или файловой системе HDFS™. Для DatabaseDatastore аргумент местоположения не должен быть файлами. Для получения дополнительной информации смотрите DatabaseDatastore.

Пример: 'file1.csv'

Пример: '../dir/data/file1.jpg'

Пример: {'C:\dir\data\file1.xls','C:\dir\data\file2.xlsx'}

Пример: 'C:\dir\data\*.mat'

Пример: 'hdfs:///data/file1.txt'

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

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

Пример: 'FileExtensions',{'.jpg','.tif'} включает все расширения с .jpg или расширение .tif для объекта ImageDatastore.

Тип datastore, заданного как пара, разделенная запятой, состоящая из 'Type' и одно из следующего:

Значение 'Type'Описание
'tabulartext'Текстовые файлы, содержащие табличные данные. Кодирование данных должно быть ASCII или UTF-8.
'image'Файлы изображений в формате, такие как JPEG или PNG. Приемлемые файлы включают форматы imformats.
'spreadsheet'Файлы электронной таблицы, содержащие один или несколько листов.
'keyvalue'Данные о паре "ключ-значение" содержатся в MAT-файлах или файлах Последовательности с данными, сгенерированными mapreduce.
'file'Пользовательские файлы формата, которые требуют, чтобы заданная функция чтения считала данные. Для получения дополнительной информации смотрите FileDatastore.
'tall'MAT-файлы или файлы Последовательности производятся функцией write типа данных tall. Для получения дополнительной информации смотрите, TallDatastore.
'parquet'Устелите паркетом файлы, содержащие данные в столбцах. Для получения дополнительной информации смотрите, ParquetDatastore.
'database'Данные хранимы в базе данных. Требует Database Toolbox™. Требует спецификации дополнительного входного параметра при использовании параметра type. Для получения дополнительной информации смотрите DatabaseDatastore.
  • Если существует несколько типов, которые поддерживают формат файлов, то используют аргумент 'Type', чтобы задать тип хранилища данных.

  • Если вы не задаете значение для 'Type', то datastore автоматически определяет соответствующий тип datastore, чтобы создать на основе расширений файлов.

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

Включайте подпапки в папке, заданной как пара, разделенная запятой, состоящая из 'IncludeSubfolders' и true (1) или false (0). Задайте true, чтобы включать все файлы и подпапки в каждой папке или false, чтобы включать только файлы в каждой папке.

Когда вы не задаете 'IncludeSubfolders', затем значением по умолчанию является false.

Пара "имя-значение" 'IncludeSubfolders' только допустима при создании этих объектов:

  • TabularTextDatastore

  • ImageDatastore

  • SpreadsheetDatastore

  • FileDatastore

  • KeyValueDatastore

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

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

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

Если 'FileExtensions' не задан, то datastore автоматически включает все поддерживаемые расширения файла в зависимости от типа хранилища данных. Если вы хотите включать неподдерживаемые расширения, затем задать каждое расширение, вы хотите включать индивидуально.

  • Для объектов TabularTextDatastore поддерживаемые расширения включают .txt, .csv, .dat, .dlm, .asc, .text и никакое расширение.

  • Для объектов ImageDatastore поддерживаемые расширения включают все расширения imformats.

  • Для объектов SpreadsheetDatastore поддерживаемые расширения включают .xls, .xlsx, .xlsm, .xltx и .xltm.

  • Для объектов TallDatastore поддерживаемые расширения включают .mat и .seq.

Пара "имя-значение" 'FileExtensions' только допустима при создании этих объектов:

  • TabularTextDatastore

  • ImageDatastore

  • SpreadsheetDatastore

  • FileDatastore

  • KeyValueDatastore

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

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

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

Альтернативные пути к корню файловой системы, заданные как пара, разделенная запятой, состоящая из 'AlternateFileSystemRoots' и вектора строки или массива ячеек. Используйте '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

Тип выходных данных текстовых переменных, заданных как пара, разделенная запятой, состоящая из 'TextType' и или 'char' или 'string'. Если выходная таблица от read, readall или функций preview содержит текстовые переменные, то 'TextType' задает тип данных тех переменных для TabularTextDatastore, и SpreadsheetDatastore возражает только. Если 'TextType' является 'char', то вывод является массивом ячеек из символьных векторов. Если 'TextType' является 'string', то вывод имеет, вводят string.

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

Введите для импортированных данных о дате и времени, заданных как пара, разделенная запятой, состоящая из 'DatetimeType' и одно из этих значений: 'datetime' или 'text'. Аргумент 'DatetimeType' только применяется при создании объекта TabularTextDatastore.

ЗначениеВведите для импортированных данных о дате и времени
'datetime'

MATLAB тип данных datetime

Для получения дополнительной информации смотрите datetime.

'text'

Если 'DatetimeType' задан как 'text', то тип для импортированных данных о дате и времени зависит от значения, заданного в параметре 'TextType':

  • Если 'TextType' является 'char', то datastore возвращает даты как массив ячеек из символьных векторов.

  • Если 'TextType' является 'string', то datastore возвращает даты как массив строк.

Пример: 'DatetimeType','datetime'

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

Тип выходных данных данных о длительности из текстовых файлов, заданных как пара, разделенная запятой, состоящая из 'DurationType' и или 'duration' или 'text'.

ЗначениеВведите для импортированных данных о длительности
'duration'

MATLAB тип данных duration

Для получения дополнительной информации смотрите duration.

'text'

Если 'DurationType' задан как 'text', то тип для импортированных данных о длительности зависит от значения, заданного в параметре 'TextType':

  • Если 'TextType' является 'char', то функция импорта возвращает данные о длительности как массив ячеек из символьных векторов.

  • Если 'TextType' является 'string', то функция импорта возвращает данные о длительности как массив строк.

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

В дополнение к этим парам "имя-значение" также можно задать любое из свойств следующих объектов как пары "имя-значение", за исключением свойства Files:

Выходные аргументы

свернуть все

Datastore для набора данных, возвращенных как один из этих объектов: TabularTextDatastore, ImageDatastore, SpreadsheetDatastore, KeyValueDatastore, FileDatastore, TallDatastore, ParquetDatastore или DatabaseDatastore. Тип datastore зависит от типа файлов или аргумента location. Для получения дополнительной информации кликните по имени хранилища данных в следующей таблице:

Ввод Вывод
Текстовые файлыTabularTextDatastore
Файлы изображенийImageDatastore
Файлы электронной таблицыSpreadsheetDatastore
MAT-файлы или файлы Последовательности производятся mapreduceKeyValueDatastore
Пользовательские файлы форматаFileDatastore
MAT-файлы или файлы Последовательности производятся функцией write типа данных tall. TallDatastore
Устелите паркетом файлыParquetDatastore
База данныхDatabaseDatastore

Для каждых из этих типов хранилищ данных свойство Files является массивом ячеек из символьных векторов. Каждый вектор символов является абсолютным путем к файлу, разрешенному аргументом location.

Введенный в R2014b