Настройте Datastore для обработки на различных машинах или кластерах

Можно создать и сохранить datastore на платформе, которая загружает и работает беспрепятственно над другой платформой путем подготовки 'AlternateFileSystemRoots' свойство datastore. Используйте это свойство когда:

  • Вы создаете datastore на локальной машине, и должны получить доступ и обработать данные на другой машине (возможно запускающий различную операционную систему).

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

Этот пример демонстрирует использование 'AlternateFileSystemRoots' свойство для TabularTextDatastore. Однако можно использовать тот же синтаксис для любого из этих хранилищ данных: SpreadsheetDatastoreImageDatastore, ParquetDatastorefileDatastoreKeyValueDatastore, и TallDatastore. Использовать 'AlternateFileSystemRoots' функциональность для пользовательских хранилищ данных, смотрите matlab.io.datastore.DsFileSet и разработайте пользовательский Datastore.

Сохраните Datastore и нагрузку на различную платформу файловой системы

Создайте datastore в одной файловой системе, которая загружает и работает беспрепятственно над различной машиной (возможно различной операционной системы). Например, создайте datastore на машине Windows®, сохраните его, и затем загрузите его на машине Linux®.

Во-первых, прежде чем вы создаете и сохраняете datastore, идентифицируете корневые пути для своих данных по другим платформам. Корневые пути будут отличаться на основе машины или файловой системы. Например, если вы имеете данные по своей локальной машине и копии данных по кластеру, затем получаете корневые пути для доступа к данным:

  • "Z:\DataSet" для вашей локальной машины Windows.

  • "/nfs-bldg001/DataSet" для вашего кластера Linux.

Затем сопоставьте эти корневые пути при помощи 'AlternateFileSystemRoots' параметр datastore.

altRoots = ["Z:\DataSet","/nfs-bldg001/DataSet"];
ds = tabularTextDatastore('Z:\DataSet','AlternateFileSystemRoots',altRoots);

Исследуйте Files свойство datastore. В этом экземпляре, Files свойство содержит местоположение ваших данных, как получено доступ вашей машиной Windows.

ds.Files
ans =

  5×1 cell array

    {'Z:\DataSet\datafile01.csv'}
    {'Z:\DataSet\datafile02.csv'}
    {'Z:\DataSet\datafile03.csv'}
    {'Z:\DataSet\datafile04.csv'}
    {'Z:\DataSet\datafile05.csv'}
Сохраните datastore.
save ds_saved_on_Windows.mat ds
Загрузите datastore на платформе Linux и исследуйте Files свойство. Начиная с корневого пути 'Z:\DataSet' не доступно на кластере Linux, во время загрузки, функция datastore автоматически обновляет корневые пути на основе значений, заданных в 'AlternateFileSystemRoots' параметр. Files свойство datastore теперь содержит обновленные корневые пути для ваших данных по кластеру Linux.
load ds_saved_on_Windows.mat
ds.Files
ans =

  5×1 cell array

    {'/nfs-bldg001/DataSet/datafile01.csv'}
    {'/nfs-bldg001/DataSet/datafile02.csv'}
    {'/nfs-bldg001/DataSet/datafile03.csv'}
    {'/nfs-bldg001/DataSet/datafile04.csv'}
    {'/nfs-bldg001/DataSet/datafile05.csv'}
Можно теперь обработать и анализировать этот datastore на машине Linux.

Datastore процесса Используя параллельные и распределенные вычисления

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

Создайте datastore и присвойте значение 'AlternateFileSystemRoots' свойство. Устанавливать значение для 'AlternateFileSystemRoots' свойство, идентифицируйте корневые пути для своих данных по другим платформам. Корневые пути отличаются на основе машины или файловой системы. Например, идентифицируйте корневые пути для доступа к данным от вашей машины и вашего кластера:

  • "Z:\DataSet" от вашего локального Windows Machine.

  • "/nfs-bldg001/DataSet" от кластера Linux MATLAB Parallel Server.

Затем сопоставьте эти корневые пути с помощью AlternateFileSystemRoots свойство.

altRoots = ["Z:\DataSet","/nfs-bldg001/DataSet"];
ds = tabularTextDatastore('Z:\DataSet','AlternateFileSystemRoots',altRoots);

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

tt = tall(partition(ds,100,1)); 
summary(tt); 
% analyze your data                        
tt = rmmissing(tt);               
plot(tt.MyVar1,tt.MyVar2)     

Увеличьте свой анализ к набору данных в целом при помощи кластера MATLAB Parallel Server (кластер Linux). Например, запустите пул рабочего с помощью кластерного профиля, и затем выполните анализ набора данных в целом при помощи возможностей параллельных и распределенных вычислений.

parpool('MyMjsProfile') 
tt = tall(ds);          
summary(tt);
% analyze your data
tt = rmmissing(tt);               
plot(tt.MyVar1,tt.MyVar2)

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

| | | | | |

Похожие темы