主要内容

이번역번역이지는최신내용을담고담고않습니다않습니다。최신최신내용을영문영문으로여기를클릭클릭

메모리에담을수없는큰데이터를위한高大형배열

高大형을사용하면数据存储가지원되는메모리에상주하지않는큰데이터에대한작업을수행할수있습니다。데이터저장소에서는대규모데이터세트전체를메모리에한번에불러오는대신이데이터세트를메모리에담을수있는각각의작은블록단위로나눠작업할수있습니다。高大형배열은일반적인함수를사용하여메모리에상주하지않는큰데이터에대한작업을수행할수있도록이기능을확장합니다。

高大형배열이란?

데이터를를한번에모두에불러오지않기때문에첫번째차원의의의의크기크기크기크기있습니다(즉,가질질행개수에이제한이없음)。MapReduce的같은기술로대규모데이터에사용되는특수코드를작성하는대신,高大형배열을사용하면메모리내MATLAB®배열을사용하는것과유사한직관적인방식으로대규모데이터세트를사용할수있습니다。많은핵심연산자와함수는메모리내배열에서작동하는것과동일하게高大형배열에서작동합니다。MATLAB은한번에작은블록단위의데이터로나눠서작업하며모든데이터청크화작업과처리작업이백그라운드에서이루어지기때문에A + B.같은일반적인표현식으로빅데이터세트를처리할수있습니다。

高大배열의이점

메모리내배열과달리高大형배열은사용자가收集함수를사용하여계산수행요청을하지않으면해당데이터를미평가상태로유지합니다。이렇게평가작업을보류해두면대규모데이터세트를신속히처리할수있습니다。나중에收集함수를사용하여출력값을요청할경우MATLAB은가능한한대기중인계산을함께처리할수있고,데이터통과횟수를최소화할수있습니다。데이터통과횟수는실행시간에큰영향을미치기때문에필요한경우에만출력값을요청하는것이좋습니다。

참고

收集함수가결과를메모리내MATLAB배열로반환하기때문에일반메모리고려사항이적용됩니다。따라서收集함수에서반환된결과가너무큰경우MATLAB은메모리부족을겪을수도있습니다。

高大형테이블만들기

高大형테이블은행개수에제한이없다는점만제외하면메모리내MATLAB테이블과유사합니다。대규모데이터세트에서高大형테이블을만들려면먼저해당데이터를위한데이터저장소를만들어야합니다。데이터저장소DS.에테이블형식의데이터가터되어되어高(DS)는이데이터를포함한高大형테이블또는高大형타임테이블을반환합니다。데이터저장소장소를만드는만드는방법대한자세한내용내용데이터저장소항목을참조하십시오。

항공편데이터로구성된테이블형식파일을가리키는스프레드시트데이터저장소를만듭니다。여러파일이포함된폴더의경우전체폴더위치를지정하거나와일드카드문자“* .csv格式를사용하여파일확장자확장자을에이터저장소데포함시킬수수수수데데수데수수수수수수수수수tabulartextdatastore.에서누락된값을값으로바꿀수있도록'na'값값을누락된값으로처리하여하여데터정리정리처리처리를정리정리또한몇가지텍스트텍스트변수변수형식형식%S로설정하여tabulartextdatastore.가이변수를문자형벡터로구성된셀형배열로읽어오도록합니다。

DS = tabularTextDatastore('airlinesmall.csv');ds.treatasmissing ='na';ds.SelectedFormats {的strcmp(ds.SelectedVariableNames,'TailNum')} ='%s';ds.SelectedFormats {的strcmp(ds.SelectedVariableNames,'取消代码')} ='%s';

데이터저장소에서高大형테이블을만듭니다。이高大형테이블에대해계산을수행하면기본데이터저장소가데이터의블록을읽어온다음,처리를위해高大형테이블에전달합니다。데이터저장소와高大형테이블에는어떠한기본데이터도없습니다。

tt =高(DS)
TT = M×29高的表年月DAYOFMONTH DAYOFWEEK DepTime CRSDepTime ArrTime CRSArrTime UniqueCarrier FlightNum TailNum ActualElapsedTime CRSElapsedTime开播ArrDelay DepDelay产地目标距离TaxiIn TaxiOut取消CancellationCode改行CarrierDelay WeatherDelay NASDelay SecurityDelay LateAircraftDelay ____ _____ __________ _________ _______ __________ _______ __________ _____________ _________ _______ _________________ ______________ _______________ ________ ______ _____ ________ ______ _______ _________ ________________ ________ ____________ ____________ ________ _____________ _________________ 1987 10 21 3 642 630 735 727 'PS' 1503 'NA' 53 57的NaN 8 12 'LAX' 'SJC' 308楠楠0 'NA' 0为NaNNaN NaN NaN NaN 1987 10 26 11021 1020 1124 1116'PS'1550'NA'63 56 NaN 8 1'SJC''Bur'296 NaN NaN 0'Na'0Na NaN NaN NaN NaN Na91030 23 5 2055 2035 2035 2035 2035 2035 22182157'PS'1589'NA'83 82 NaN 21 20'SAN''SMF'480naN NaN 0'NA'0NAN NaN NaN NaN NaN 1987 10 23 5 1332 1320 1431 1418'PS” 1655 'NA' 59 58的NaN 13 12 'BUR' 'SJC' 296楠楠0 'NA' 0楠楠楠楠的NaN 1987 10 22 4 629 630 746 742 'PS' 1702 'NA' 77 72 NaN的4  -1 'SMF' 'LAX' 373楠楠0 'NA' 0楠楠楠楠的NaN 1987 10 28 3 1446 1343 1547 1448 'PS' 1729 'NA' 61 65的NaN 59 63 'LAX' 'SJC' 308楠楠0'Na'0 NaN NaN NaN NaN NaN 1987 10 8 4 928 930 1052 1049'PS'1763'NA'84 79 NaN 3 -2'SAN'SFO'447纳米NaN NaN 0'Na'0Na NaN NaN NaN NaN 198710 10 6 859 900 1134 1123 'PS' 1800 'NA' 155 143的NaN 11 -1 'SEA' 'LAX' 954楠楠0 'NA' 0楠楠楠楠楠::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

위화면을보면행개수m을현재알수없다는것을확인할수있습니다。MATLAB은일부행만을표시하며세로말줄임표를통해高大형테이블에현재표시되지않은행이더많이있음을알수있습니다。

高大형테이블만들기

사용중인데이터의각행이시간과연관된경우高大형타임테이블을사용하여데이터작업을수행할수있습니다。高大형타임테이블을생성하는방법에대한자세한내용은확장기능(时间表을을하십시오。

다음과같은경우,高大형테이블TT.의각행이시간과연관되어있지만DAYOFMONTH등의여러테이블변수로나뉘어있습니다。이러한모든날짜/시간정보를하나의새로운高大日期时间형변수日期(출발시간DepTime을기준으로함)로결합합니다。그런다음日期를행시간값으로사용하여高大형타임테이블을만듭니다。日期가테이블의유일한日期时间형변수이기때문에table2timetable함수함수행시간값에이변수변수자동으로사용합니다。

hrs =(tt.deptime  -  mod(tt.deptime,100))/ 100;mins = mod(tt.deptime,100);tt.dates = datetime(tt.year,tt.month,tt.dayofmonth,hrs,mins,0);TT(:,1:8)= [];tt = table2timetable(tt)
TT = M×21个高大时间表日期UniqueCarrier FlightNum TailNum ActualElapsedTime CRSElapsedTime通话时间ArrDelay DepDelay产地目标距离TaxiIn TaxiOut取消CancellationCode改行CarrierDelay WeatherDelay NASDelay SecurityDelay LateAircraftDelay ____________________ _____________ _________ _______ _________________ ______________ _______ ________ ________ ______ _____ ________ ______ _______ _________ ________________ ________ ____________ ____________ ________ ______________________________ 21-OCT-1987 6时42分00秒 'PS' 1503 'NA' 53 57 8的NaN 12 'LAX' 'SJC' 308楠楠0 'NA' 0楠楠楠楠NaN的26-OCT-1987 10时21分:00 'PS' 1550 'NA' 63 56 8的NaN 1 'SJC' 'BUR' 296楠楠0 'NA' 0楠楠楠楠NaN的23-OCT-1987 20时55分00秒 'PS' 1589 'NA'83 82 21的NaN 20 'SAN' 'SMF' 480楠楠0 'NA' 0楠楠楠楠NaN的23-OCT-1987 13时32分00秒 'PS' 1655 'NA' 59 58 13的NaN 12 'BUR''SJC” 296楠楠0 'NA' 0楠楠楠楠NaN的22-OCT-1987 6时29分00秒 'PS' 1702 'NA' 77 72的NaN 4 -1 'SMF' 'LAX' 373的NaN为NaN 0 'NA' 0楠楠楠楠NaN的28-OCT-1987 14点46分00秒 'PS' 1729 'NA' 61 65 59的NaN 63 'LAX' 'SJC' 308楠楠0 'NA' 0为NaN楠楠楠楠08-OCT-1987 9时28分00秒 'PS' 1763 'NA' 84 79 NaN 3的-2 'SAN' 'SFO' 447楠楠0 'NA' 0楠楠楠楠NaN的10-OCT-1987 08:59:00 'PS' 1800 'NA' 155 143的NaN 11 -1 'SEA' 'LAX' 954楠楠0 'NA' 0楠楠楠楠楠::::::::::::::::::::::::

高大형배열만들기

高大형테이블또는高大형타임테이블에서변수를추출할경우해당기본데이터형으로구성된高大형배열이생성됩니다。高大형배열은숫자형,논리형,日期时间형,持续时间형,calendarDuration형,分类형,串형또는셀형배열일수있습니다。또한메모리내배열一种ta =高(a)를사용해高大형배열로변환할수있습니다。메모리내배열一种는지원되는데이터형중중하나가져야합니다。

高大형타임테이블TT.에서도착지연시간arrdelay.를추출합니다。그러면기본데이터형이双인새高大형배열변수가생성됩니다。

a = tt.arrdelay.
A = M×1个高大双列向量8 8 21 13 4 59 3 11:

classUnderlying함수와isaundering함수는高大형배열의기본이터형을을확인하는하는데유용

평가보류

高大형배열의중요한특성중하나는高大형배열로작업할때대부분의연산이즉시수행되지않는다는점입니다。사용자가확실히계산수행을요청할때까지실제계산을보류해두기때문에연산이신속하게실행되는것처럼보입니다。收集함수(결과를메모리로가져옴)나함수(결과를디스크에씀)를사용하여高大형배열의평가를시작할수있습니다。大小(X)같이간단한명령도10억개의행이포함된高大형배열에서실행하면빠르게계산하기힘들기때문에이처럼평가를보류하는것이매우중요합니다。

高大형배열로작업할때MATLAB은수행되는모든연산을추적합니다。그런다음이정보는收集함수로출력값을요청할때필요한데이터통과횟수를최적화하는데사용됩니다。따라서미평가高大형배열로작업하면서필요한경우에만출력값을요청하는것이일반적입니다。자세한내용은高大阵列的递延评价항목을참조하십시오。

도착지연시간의평균과표준편차를계산합니다。이러한값을기준으로평균에서표준편차1범위내에있는지연시간의상한과하한을생성합니다。각연산결과를보면배열이아직계산되지않았음을알수있습니다。

M =平均值(一,'omitnan'
米=高双?预览推迟。了解更多。
S = STD(一,'omitnan'
s =高?预览推迟。了解更多。
one_sigma_bounds = [M-S,M,M + s]的
one_sigma_bounds = M×N×...高大阵列?还是还是......?还是还是......?还是还是...::::::预览推迟。 Learn more.

收集함수로평가

지연된평가의이점은MATLAB이계산을수행할때데이터통과횟수를최소화하는방식으로연산을결합할수있는경우가많다는점입니다。따라서많은연산을수행할때도MATLAB은반드시필요한경우에만추가적인데이터통과를수행합니다。

收集함수는대기중인모든연산을강제로평가하고결과출력값을메모리로가져옵니다。이런이유로,高大형배열과메모리내배열을연계하는수단으로收集를사용하는것을고려해볼수있습니다。예를들어,高大논리형배열을사용하면如果루프또는尽管루프를제어할수없지만收集함수를사용하여이배열을평가하면이러한컨텍스트에서사용할수있는메모리내논리형배열이됩니다。

收集는MATLAB에서전체결과를반환하기때문에결과가메모리에담길수있는지확인해야합니다。

收集함수를사용용one_sigma_bounds를계산한후결과를메모리로가져옵니다。이경우,one_sigma_bounds를계산하려면여러가지연산이필요하지만MATLAB에서이러한연산을한번의데이터통과로결합합니다。이예제의데이터는작기때문에收集함수가신속히실행됩니다。그러나데이터크기가늘어날수록데이터통과횟수를줄이는것이더중요합니다。

SIG1 =聚集(one_sigma_bounds)
评估使用本地MATLAB会话高表达: - 通的1 1:在1.5秒评价完成在1.8秒SIG1 = -23.4572 7.1201 37.6975完成

여러高大형배열을한번에평가하려는경우收集이방법은收集함수를여러번호출하는것보다더빠릅니다。예를들어,도착지연시간의최솟값과최댓값을계산해보겠습니다。각값을따로계산할경우각값에대해데이터통과가한번씩필요하여총두번의통과에대해계산해야합니다。그러나두값을동시에계산할경우데이터통과가한번만필요합니다。

[max_delay,min_delay] =聚集(最大的(a),分钟(a))的
评估使用本地MATLAB会话高表达: - 通的1 1:在1.1秒评价完成在1.1秒完成max_delay = 1014 min_delay = -64

결과를통해,대부분의항공편이평균적으로약7분늦게도착한다는것을알있습니다있습니다수수그러나이값은항공편의1표준편차범위내에(최대37분지연또는23분조기도착)있습니다。데이터세트에서가장일찍일찍도착한항공편은약약빨랐고장장늦게도착한수시간지연지연한수시간지연

高大형배열저장,불러오기및검사지점생성

节省함수는高大형배열의상태를저장하지만데이터를복사하지는않습니다。결과로나타나는。垫파일은대개크기가작습니다。그러나이후에加载를사용하려면원래데이터파일이동일한위치에있어야합니다。

함수는이터터사본을만들고이복사본을여러개의로저장하기에디스크을을많많많많많많많많많많많많많많많많많많많많많많많많많함수는값을쓰기전에,대기중인모든高大형배열에대한연산을실행하여값을계산합니다。함수가데이터를복사하면이복사된데이터는원래원시데이터에대해독립적입니다。따라서원래의원시데이터를더이상사용할할수없더라도사된된파일高大형형을다시만들어수있습니다있습니다수수있습니다。

파일이작성된위치를가리키는새데이터저장소를만들어작성된파일에서高大형배열을다시만들수있습니다。이기능을사용하여高大형배열데이터의검사지점이나스냅샷을만들수있습니다。데이터전처리는데이터를불러오기에더효율적인형식으로만드는작업인데,검사지점만들기는이러한데이터의전처리결과를저장하기에좋은방법입니다。

高大형TA.가의경우다음명령을사용하여이高형배열을폴더地点에쓸수있습니다。

写(位置,TA);

나중에,이작성된파일에서TA.를다시생성하려면다음명령을사용하십시오。

DS =数据存储(位置);TA =高(DS);

그외에도함수를사용하여高大형배열의평가를시작하고그결과를디스크에쓸수있습니다。이렇게함수를사용하는것은收集함수를사용하는것과유사하지만함수는메모리에결과를저장하지않습니다。

지원함수

그러나高大형배열에대한의작업이특수하거나제한사항이있는경우가있습니다。어떤НННННННННННН배열을지원지원하는지그리고어떤사항이있는지알아보려면그함수도움말이지의의맨아래에서확장기능섹션을보십시오(예를들어,filloutliers참조)。

高大형배열을지원하는모든MATLAB함수를필터링한목록을보려면함수목록(高형배열)을을하십시오。

高大형배열은머신러닝알고리즘작성,독립실행형앱배포,병렬계산실행또는클러스터에서계산실행같은작업을할수있는여러툴박스에서도지원됩니다。자세한내용은用其他产品延伸高阵列下载188bet金宝搏항목을참조하십시오。

참고항목

||||

관련항목