В этом примере показано, как создать datastore для данных пары "ключ-значение" в MAT-файле, который является выходом mapreduce
. Затем в примере показано, как считать все данные в datastore и отсортировать их. Этот пример принимает, что данные в MAT-файле помещаются в памяти.
Создайте datastore из файла образца, mapredout.mat
, с использованием datastore
функция. Образец файла содержит уникальные ключи, представляющие коды авиаперевозчика и соответствующие значения, которые представляют количество рейсов, выполняемых этим перевозчиком.
ds = datastore('mapredout.mat');
datastore
возвращает KeyValueDatastore
. The datastore
функция автоматически определяет подходящий тип создаваемого datastore.
Предварительный просмотр данных с помощью preview
функция. Эта функция не влияет на состояние datastore.
preview(ds)
ans=1×2 table
Key Value
______ _________
{'AA'} {[14930]}
Считайте все данные в ds
использование readall
функция. The 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
содержит все данные авиакомпании и рейса из datastore в том же порядке, в котором были считаны данные. The табличных переменных, 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
Сбросьте datastore, чтобы разрешить повторное чтение данных.
reset(ds)
datastore
| KeyValueDatastore
| mapreduce
| tall