Main Content

키-값 데이터가 있는 MAT 파일 읽어오기 및 분석하기

이 예제에서는 mapreduce의 출력값인 MAT 파일에 키-값 쌍 데이터를 위한 데이터저장소를 생성하는 방법을 보여줍니다. 그런 다음 데이터저장소에 있는 모든 데이터를 읽어온 다음 정렬하는 방법을 보여줍니다. 이 예제에서는 MAT 파일의 데이터가 메모리에 다 담긴다고 가정합니다.

datastore 함수를 사용하여 샘플 파일 mapredout.mat에서 데이터저장소를 만듭니다. 샘플 파일에는 항공사 코드를 나타내는 고유 키와 함께 해당 항공사에서 실시한 운항 횟수를 나타내는 값이 들어 있습니다.

ds = datastore('mapredout.mat');

datastoreKeyValueDatastore를 반환합니다. datastore 함수는 생성할 데이터저장소의 적합한 유형을 자동으로 결정합니다.

preview 함수를 사용하여 데이터를 미리 봅니다. 이 함수를 사용해도 데이터저장소의 상태에 영향을 주지 않습니다.

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

    {'AA'}    {[14930]}

readall 함수를 사용하여 ds의 모든 데이터를 읽어옵니다. readall 함수는 2개의 열(KeyValue)을 가진 테이블을 반환합니다.

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에는 데이터저장소의 모든 항공사 데이터와 운항 데이터가 데이터를 읽어온 순서 그대로 들어 있습니다. 테이블 변수 KeyValue는 셀형 배열입니다.

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)

참고 항목

| | |

관련 항목