根据您的数据如何适应内存,选择以下方法之一:
数据存储
如果您的数据不适合本地计算机的内存,但确实适合群集的内存,则可以使用数据存储
与之分散式
功能要创建分布式数组并分区工人之间的数据。
此示例显示如何使用和加载分布式阵列数据存储
。使用航空公司飞行数据的表格文件创建数据存储。此数据集太小,无法对工人进行数据相同的分区。要模拟大数据集,人为地增加数据存储的大小repmat.
。
files = repmat({'airlinesmall.csv'},10,1);ds = tabulartextdataStore(文件);
选择示例变量。
ds.selectedvariablenames = {'deptime'那'depdelay'};ds.treatasmissing ='na';
通过并行读取数据存储来创建分布式表。每个工作人员分区分区数据存储。然后每个工作人员从相应的分区读取所有数据。文件必须位于工人可访问的共享位置。
dt =分布式(DS);
使用“本地”配置文件启动并行池(Parpool)...连接到4名工人。
显示有关分布式表的摘要信息。
摘要(DT)
变量:DEPTIME:1,235,230×1双倍值:MIN 1 MAX 2505 NANS 23,510 DEPDELAY:1,235,230×1双倍值:MIN -1036 MAX 1438 NANS 23,510
确定高表的大小。
尺寸(dt)
ans = 1235230 2
返回前几行DT.
。
头(dt)
ANS = DEPTIME depdelay _________________________342 12 10211 2055 20 1332 12 629 -1 1446 63 928 -2 859 -1 1833 3 1041 1
最后,检查每个工作人员加载的数据量。
SPMD.,dt,结尾
工人1:这个工作人员存储DT2(1:370569,:)。localpart:[370569×2表]译码员:[1×1鳕鱼推导图1d]工人2:这个工作人员存储DT2(370570:617615,:)。localpart:[247046×2表]译码员:[1×1鳕鱼推导图1d]工人3:这个工人存储DT2(617616:988184,:)。localpart:[370569×2表]译码员:[1×1鳕鱼推导图1d]工人4:这个工作人员存储DT2(988185:1235230,:)。localPart:[247046×2表]译码员:[1×1鳕鱼铁器1d]
请注意,数据将同等地划分为工人。有关更多细节数据存储
, 看什么是数据存储?
有关大数据的工作流程的更多详细信息,请参阅选择并行计算解决方案。
如果您的数据适合本地计算机的内存,则可以使用分布式阵列分区工人之间的数据。使用分散式
在MATLAB客户端中创建分布式数组的函数,并将其数据存储在打开并行池的工人上。分布式阵列在一个尺寸中分布,并且沿着工人之间的那个尺寸均匀地分布。创建分布式数组时,无法控制分发的细节。
您可以通过多种方式创建分布式数组:
前两种技术不涉及SPMD.
在创建数组时,但可以使用SPMD.
操纵以这种方式创造的数组。例如:
在客户端工作区中创建数组,然后使其成为分布式数组。
Parpool('当地的'2)%创建池W =(6,6);w =分布(w);%分配给工人SPMD.t = w * 2;%计算对工人进行并行进行。%t和w在这里都是编码阵列。结尾T.%查看客户端的结果。谁是%t和w在这里都是分布式阵列。删除(GCP)%停止池
或者,您可以使用译文
函数,允许您控制更多选项,例如维度和分区,但通常更复杂。你可以创建一个译文
阵列通过在工人自己身上执行,无论是在SPMD.
声明或在沟通工作中。创建A.译文
数组,您可以控制分发的所有方面,包括尺寸和分区。
分布式和编码阵列之间的关系是透视之一。编码阵列在执行代码以创建或操作它们的工人之间分区。当您在客户端中创建分布式数组时,可以将其访问它作为编码阵列SPMD.
陈述。当您在一个中创建编码符号数组时SPMD.
语句,您可以将其作为客户端中的分布式数组访问。仅有的SPMD.
语句允许您从两种不同的透视图访问相同的数组数据。
你可以创建一个译文
数组以多种方式:
在一个中创建一个编码的数组SPMD.
使用非默诺分发方案的声明。首先,沿着第三维定义1-D分布,工人1上有4个零件,15件工人2.然后创建一个3×3×16零的零。
Parpool('当地的'2)%创建池SPMD.代码师= Codistributor1d(3,[4,12]);Z =零(3,3,16,代码分子);z = z + labindex;结尾Z.%查看客户端的结果。%z在此处是分布式阵列。删除(GCP)%停止池
有关编码阵列的更多详细信息,请参阅使用编码阵列。
分散式
|译文
|高
|数据存储
|SPMD.
|repmat.
|眼睛
|兰特