exponenta event banner

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

Можно создать и сохранить хранилище данных на платформе, которая легко загружается и работает на другой платформе, установив '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
Загрузите хранилище данных на платформу Linux и изучите Files собственность. Начиная с корневого пути 'Z:\DataSet' недоступен в кластере Linux, во время загрузки функция хранилища данных автоматически обновляет корневые пути на основе значений, указанных в 'AlternateFileSystemRoots' параметр. Files свойство хранилища данных теперь содержит обновленные корневые пути для данных в кластере 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'}
Теперь это хранилище данных можно обрабатывать и анализировать на компьютере с Linux.

Обработка хранилища данных с использованием параллельных и распределенных вычислений

Для обработки хранилища данных с параллельными и распределенными вычислениями, включающими различные платформы, облачные или кластерные машины, необходимо предварительно определить '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)

См. также

| | | | | |

Связанные темы