Можно создать и сохранить 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'
параметр. The 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.
"/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