Можно создать и сохранить datastore на платформе, которая загружает и работает беспрепятственно над другой платформой путем подготовки 'AlternateFileSystemRoots'
свойство datastore. Используйте это свойство когда:
Вы создаете datastore на локальной машине, и должны получить доступ и обработать данные на другой машине (возможно запускающий различную операционную систему).
Вы обрабатываете свой datastore с параллельными и распределенными вычислениями, включающими другие платформы, облако или кластерные машины.
Этот пример демонстрирует использование 'AlternateFileSystemRoots'
свойство для TabularTextDatastore
. Однако можно использовать тот же синтаксис для любого из этих хранилищ данных: SpreadsheetDatastore
ImageDatastore
, ParquetDatastore
fileDatastore
KeyValueDatastore
, и TallDatastore
. Использовать 'AlternateFileSystemRoots'
функциональность для пользовательских хранилищ данных, смотрите matlab.io.datastore.DsFileSet
и разработайте пользовательский 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'}
save ds_saved_on_Windows.mat ds
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 с параллельными и распределенными вычислениями, которые включают другие платформы, облако или кластерные машины, необходимо предопределить '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)
datastore
| FileDatastore
| ImageDatastore
| KeyValueDatastore
| SpreadsheetDatastore
| TabularTextDatastore
| TallDatastore