Можно создать и сохранить хранилище данных на платформе, которая легко загружается и работает на другой платформе, установив 'AlternateFileSystemRoots' свойства хранилища данных. Используйте это свойство в следующих случаях:
Необходимо создать хранилище данных на локальном компьютере, а также получить доступ к данным и обработать их на другом компьютере (возможно, под управлением другой операционной системы).
Вы обрабатываете хранилище данных с помощью параллельных и распределенных вычислений с использованием различных платформ, облачных или кластерных машин.
В этом примере показано использование 'AlternateFileSystemRoots' свойство для TabularTextDatastore. Однако для любого из этих хранилищ данных можно использовать один и тот же синтаксис: SpreadsheetDatastore, ImageDatastore, ParquetDatastore, FileDatastore, KeyValueDatastore, и TallDatastore. Для использования 'AlternateFileSystemRoots' для пользовательских хранилищ данных см. matlab.io.datastore.DsFileSet и разработка пользовательского хранилища данных.
Создайте хранилище данных в одной файловой системе, которое будет легко загружаться и работать на другой машине (возможно, в другой операционной системе). Например, создайте хранилище данных на компьютере с ОС Windows ®, сохраните его и загрузите на компьютер с ОС Linux ®.
Сначала перед созданием и сохранением хранилища данных определите корневые пути для данных на различных платформах. Корневые пути будут отличаться в зависимости от компьютера или файловой системы. Например, если у вас есть данные на локальном компьютере и копия данных в кластере, то получите корневые пути для доступа к данным:
"Z:\DataSet" для локального компьютера Windows.
"/nfs-bldg001/DataSet" для вашего кластера Linux.
Затем свяжите эти корневые пути с помощью 'AlternateFileSystemRoots' параметра хранилища данных.
altRoots = ["Z:\DataSet","/nfs-bldg001/DataSet"]; ds = tabularTextDatastore('Z:\DataSet','AlternateFileSystemRoots',altRoots);
Осмотрите Files свойство хранилища данных. В этом случае 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, во время загрузки функция хранилища данных автоматически обновляет корневые пути на основе значений, указанных в 'AlternateFileSystemRoots' параметр. Files свойство хранилища данных теперь содержит обновленные корневые пути для данных в кластере Linux.load ds_saved_on_Windows.mat
ds.Filesans =
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'}Для обработки хранилища данных с параллельными и распределенными вычислениями, включающими различные платформы, облачные или кластерные машины, необходимо предварительно определить 'AlternateFileSystemRoots' параметр. В этом примере показано, как создать хранилище данных на локальном компьютере, проанализировать небольшую часть данных, а затем использовать Parallel Computing Toolbox™ и MATLAB ® Parallel Server™ для масштабирования анализа на весь набор данных.
Создание хранилища данных и назначение значения 'AlternateFileSystemRoots' собственность. Установка значения для 'AlternateFileSystemRoots' определите корневые пути для данных на различных платформах. Корневые пути различаются в зависимости от компьютера или файловой системы. Например, определите корневые пути для доступа к данным с компьютера и кластера:
"Z:\DataSet" с локального компьютера Windows.
"/nfs-bldg001/DataSet" из кластера MATLAB Parallel Server Linux.
Затем свяжите эти корневые пути с помощью 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