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/BR2018bd/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, заданный как вектор символа, массив ячеек из символьных векторов, представляют в виде строки скаляр или массив строк. Если файлы не находятся в текущей папке, то location должен быть полными или относительными путями. Файлы в подпапках заданной папки автоматически не включены в datastore.

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

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

Для получения информации об использовании datastore с Amazon S3™ Устройство хранения данных Windows Azure® Blob и HDFS™, видят работу с Удаленными данными.

Для 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

Типы данных: char | ячейка | строка

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

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

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

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

Значение 'Type'Описание
'tabulartext'Текстовые файлы, содержащие табличные данные. Кодирование данных должно быть ASCII или UTF-8.
изображениеФайлы изображений в формате, такие как JPEG или PNG. Приемлемые файлы включают форматы imformats.
'spreadsheet'Файлы электронной таблицы, содержащие один или несколько листов.
'KeyValue' Данные пары "ключ-значение" содержатся в MAT-файлах или файлах Последовательности с данными, сгенерированными mapreduce.
'file'Пользовательские файлы формата, которые требуют, чтобы заданная функция чтения считала данные. Для получения дополнительной информации смотрите FileDatastore.
высокийMAT-файлы или файлы Последовательности производятся функцией write типа данных tall. Для получения дополнительной информации смотрите, TallDatastore.
'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', верный

Типы данных: логический | дважды

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

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

  • Для объектов TabularTextDatastore поддерживаемые расширения включают .txt 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 . текст

Типы данных: char | ячейка | строка

Альтернативные пути к корню файловой системы, заданные как пара, разделенная запятой, состоящая из 'AlternateFileSystemRoots' и вектора строки или массива ячеек. Используйте 'AlternateFileSystemRoots', когда вы создадите datastore на локальной машине, но должны будете получить доступ и обработать данные на другой машине (возможно различной операционной системы). Кроме того, при обрабатывании данных с помощью Параллельных вычислений Toolbox™ и MATLAB® Distributed Computing 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"]

Типы данных: представьте в виде строки | ячейка

Тип выходных данных текстовых переменных, заданных как пара, разделенная запятой, состоящая из '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.

Текст

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

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

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

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

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

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

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

MATLAB тип данных duration

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

Текст

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

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

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

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

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

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

свернуть все

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

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

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

Введенный в R2014b

Была ли эта тема полезной?