Этот пример показывает, как создать datastore для данных о паре "ключ-значение" в MAT-файле, который является выводом mapreduce
. Затем пример показывает, как считать все данные в datastore и отсортировать его. Этот пример принимает, что данные в MAT-файле умещаются в памяти.
Создайте datastore из файла примера, mapredout.mat
, с помощью функции datastore
. Файл примера содержит коды поставщика услуг авиакомпании представления уникальных ключей и соответствующие значения, которые представляют количество рейсов, выполненных тем поставщиком услуг.
ds = datastore('mapredout.mat');
datastore
возвращает KeyValueDatastore
. Функция datastore
автоматически определяет соответствующий тип datastore, чтобы создать.
Предварительно просмотрите данные с помощью функции preview
. Эта функция не влияет на состояние datastore.
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
содержит всю авиакомпанию и полетные данные от datastore в том же порядке, в котором были считаны данные. Табличные переменные, 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)
KeyValueDatastore
| datastore
| mapreduce
| tall