exponenta event banner

TallDatastore

Хранилище данных для контрольных точек tall множества

Описание

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

Создание

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

Свойства

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

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

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

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

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

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

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

    • Определить 'AlternateFileSystemRoots' в виде массива ячеек строковых векторов.

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

    • Либо укажите 'AlternateFileSystemRoots' как массив ячеек массива ячеек символьных векторов.

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

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

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

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

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

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

Дополнительные сведения см. в разделе Настройка хранилища данных для обработки на различных машинах или кластерах.

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

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

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

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

Примеры

свернуть все

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

Создайте простой высокий двойник.

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 массив, записанный на диск, сначала создайте новое хранилище данных, которое ссылается на тот же каталог. Затем преобразуйте хранилище данных в 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