exponenta event banner

Чтение и анализ MAT-файла с данными ключевых значений

В этом примере показано, как создать хранилище данных для данных пары ключ-значение в MAT-файле, который является выходом mapreduce. Затем в примере показано, как считывать все данные в хранилище данных и сортировать их. В этом примере предполагается, что данные в MAT-файле помещаются в память.

Создайте хранилище данных из файла образца, mapredout.mat, с использованием datastore функция. Образец файла содержит уникальные ключи, представляющие коды авиаперевозчиков, и соответствующие значения, представляющие количество рейсов, выполняемых этим перевозчиком.

ds = datastore('mapredout.mat');

datastore возвращает KeyValueDatastore. datastore функция автоматически определяет соответствующий тип создаваемого хранилища данных.

Предварительный просмотр данных с помощью preview функция. Эта функция не влияет на состояние хранилища данных.

preview(ds)
ans=1×2 table
     Key        Value  
    ______    _________

    {'AA'}    {[14930]}

Прочтите все данные в ds с использованием readall функция. readall функция возвращает таблицу с двумя столбцами, Key и Value.

T = readall(ds)
T=29×2 table
       Key          Value  
    __________    _________

    {'AA'    }    {[14930]}
    {'AS'    }    {[ 2910]}
    {'CO'    }    {[ 8138]}
    {'DL'    }    {[16578]}
    {'EA'    }    {[  920]}
    {'HP'    }    {[ 3660]}
    {'ML (1)'}    {[   69]}
    {'NW'    }    {[10349]}
    {'PA (1)'}    {[  318]}
    {'PI'    }    {[  871]}
    {'PS'    }    {[   83]}
    {'TW'    }    {[ 3805]}
    {'UA'    }    {[13286]}
    {'US'    }    {[13997]}
    {'WN'    }    {[15931]}
    {'AQ'    }    {[  154]}
      ⋮

T содержит все данные авиакомпании и рейса из хранилища данных в том же порядке, в котором считывались данные. Переменные таблицы, Key и Value, являются массивами ячеек.

Новообращенный Value в числовой массив.

T.Value = cell2mat(T.Value)
T=29×2 table
       Key        Value
    __________    _____

    {'AA'    }    14930
    {'AS'    }     2910
    {'CO'    }     8138
    {'DL'    }    16578
    {'EA'    }      920
    {'HP'    }     3660
    {'ML (1)'}       69
    {'NW'    }    10349
    {'PA (1)'}      318
    {'PI'    }      871
    {'PS'    }       83
    {'TW'    }     3805
    {'UA'    }    13286
    {'US'    }    13997
    {'WN'    }    15931
    {'AQ'    }      154
      ⋮

Назначьте новые имена переменным таблицы.

T.Properties.VariableNames = {'Airline','NumFlights'};

Сортировка данных в T по количеству рейсов.

T = sortrows(T,'NumFlights','descend')
T=29×2 table
    Airline    NumFlights
    _______    __________

    {'DL'}       16578   
    {'WN'}       15931   
    {'AA'}       14930   
    {'US'}       13997   
    {'UA'}       13286   
    {'NW'}       10349   
    {'CO'}        8138   
    {'MQ'}        3962   
    {'TW'}        3805   
    {'HP'}        3660   
    {'OO'}        3090   
    {'AS'}        2910   
    {'XE'}        2357   
    {'EV'}        1699   
    {'OH'}        1457   
    {'FL'}        1263   
      ⋮

Просмотр сводки отсортированной таблицы.

summary(T)
Variables:

    Airline: 29x1 cell array of character vectors

    NumFlights: 29x1 double

        Values:

            Min           69  
            Median      1457  
            Max        16578  

Сбросьте хранилище данных, чтобы разрешить повторное чтение данных.

reset(ds)

См. также

| | |

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