TallDatastore

Datastore для выгрузки tall массивы

Описание

TallDatastore объекты предназначены для воссоздания tall массивы из двоичных файлов, записанных на диск write функция. Можно использовать объект для воссоздания исходного tall массив, или вы можете получить доступ к данным и управлять ими путем определения TallDataStore свойства и использование функций объекта.

Создание

Создание TallDatastore объекты, использующие datastore функция. Для примера, tds = datastore(location,'Type','tall') создает datastore из набора файлов, заданных location.

Свойства

расширить все

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

The location аргумент datastore функция задает Files свойство при создании datastore. The location аргумент содержит полные пути к файлам в локальной файловой системе, сетевой файловой системе или поддерживаемом удаленном местоположении, таком как Amazon S3™, Windows Azure® Хранилище больших двоичных объектов и HDFS™. Для получения дополнительной информации см. раздел Работа с удаленными данными.

Файлы должны быть либо MAT-файлами, либо файлами Sequence, сгенерированными write функция.

Пример: {'C:\dir\data\file1.ext';'C:\dir\data\file2.ext'}

Пример: {'s3://bucketname/path_to_files/your_file01.ext';'s3://bucketname/path_to_files/your_file02.ext'}

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

Тип файла, заданный как 'mat' для MAT-файлов или 'seq' для файлов последовательности. По умолчанию тип файла в указанном расположении определяет FileType.

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

Максимальное количество строк данных для чтения в вызове на read или preview функций, заданных как положительное целое число. Когда datastore функция создает TallDatastore, он определяет и присваивает лучшее возможное значение для ReadSize.

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

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

hasdataОпределите, доступны ли данные для чтения
numpartitionsКоличество разделов datastore
partitionРаздел datastore
previewПредварительный просмотр подмножества данных в datastore
readЧтение данных в datastore
readallЧтение всех данных в datastore
resetСбросьте datastore в начальное состояние
transformПреобразуйте datastore
combineОбъедините данные из нескольких хранилищ данных
isPartitionableОпределите, является ли datastore разделяемым
isShuffleableОпределите, является ли datastore shuffleable

Примеры

свернуть все

Использование TallDatastore объекты для восстановления длинных массивов непосредственно из файлов на диске, а не для повторного выполнения всех команд, которые создали длинный массив. Создайте длинный массив и сохраните его на диск с помощью write функция. Извлечение tall массив с использованием datastore а затем преобразовать его обратно в tall.

Создайте простой tall double.

t = tall(rand(500,1))
t =

  500×1 tall double column vector

    0.8147
    0.9058
    0.1270
    0.9134
    0.6324
    0.0975
    0.2785
    0.5469
    :
    :

Сохраните результаты в новой папке с именем ExampleData на C:\ диск. (Может потребоваться указать другое местоположение записи, особенно если вы не используете компьютер с Windows ®.)

location = 'C:\ExampleData';
write(location, t);
Writing tall data to folder C:\ExampleData
Evaluating tall expression using the Parallel Pool 'local':
Evaluation completed in 0 sec

Как восстановить tall массив, который был записан на диск, сначала создайте новый datastore, который ссылается на ту же директорию. Затем преобразуйте datastore в tall массив.

tds = datastore(location);
t1 = tall(tds)
t1 =

  M×1 tall double column vector

    0.8147
    0.9058
    0.1270
    0.9134
    0.6324
    0.0975
    0.2785
    0.5469
    :
    :

Введенный в R2016b