Можно создать и сохранить 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)
FileDatastore
| ImageDatastore
| KeyValueDatastore
| SpreadsheetDatastore
| TabularTextDatastore
| TallDatastore
| datastore