主要内容

分布式数据写入输出位置

描述

例子

写(位置,D)写分布式数组中的值D文件的文件夹位置。数据存储在一个有效的二进制格式适合阅读使用数据存储(位置)。如果不是分布在第一个维度,MATLAB®重新分配数据在写作之前,这样生成的文件可以使用重读数据存储

例子

写(filepattern,D)使用的文件扩展名filepattern确定输出格式。filepattern必须包括一个文件夹将文件写入后跟一个文件名,包括一个通配符*。通配符代表增量数据生成独特的文件名,例如写(文件夹/ myfile_ * . csv, D)

例子

写(___,名称,值)与一个或多个名称-值对参数指定附加选项使用任何以前的语法。例如,您可以指定的文件类型“文件类型”和一个有效的文件类型(“垫”,“>”,“铺”,“文本”,或“表格”),或者您可以指定一个自定义编写函数来处理数据“WriteFcn”和一个函数处理。

例子

全部折叠

这个例子展示了如何编写一个分布式阵列到一个文件系统,然后读它使用数据存储。

创建一个分布式数组并将它写入输出文件夹。

d = distributed.rand (5000 1);位置=hdfs: / / myHadoopCluster /一些/输出/文件夹”;写(位置,d);

从书面文件重新创建分布式阵列。

ds =数据存储(位置);d1 =分布式(ds);

这个例子展示了如何编写分布式阵列使用文件模式不同的格式。

创建一个分布表,写一个简单的基于文本的格式,许多应用程序可以读取。

分布式(dt = array2table (rand (5000 3)));位置=“/ tmp / CSVData / dt_ * . csv”;写(位置,dt);

创建从书面文件分配表。

ds =数据存储(位置);dt₁=分布式(ds);

您可以编写分布式数据和读取数据一样高,反之亦然。

创建一个分布式的时间表并将它写入磁盘。

分布式(dt = array2table (rand (5000 3)));位置=“/ tmp / CSVData / dt_ * . csv”;写(位置,dt);

建立一个高表从书面文件。

ds =数据存储(位置);tt =高(ds);

另外,您可以从高数据读取的数据写入到分布式数据。创建一个高的时间表并将它写入磁盘。

tt =高(array2table (rand (5000 3)));位置=“/ tmp / CSVData / dt_ * . csv”;写(位置、tt);

读回一个分布式的时间表。

ds =数据存储(位置);dt =分布式(ds);

这个例子展示了如何编写分布式阵列使用自定义编写一个文件系统的功能。

创建一个简单的编写函数,写出电子表格文件。

函数dataWriter(信息、数据)文件名= info.SuggestedFilename;writetable(数据、文件名“文件类型”,“表格”);结束

创建一个分布式表并将它写入磁盘使用自定义编写函数。

分布式(dt = array2table (rand (5000 3)));位置=“/ tmp / MyData / tt_ * .xlsx”;写(位置,dt,“WriteFcn”,@dataWriter);

输入参数

全部折叠

文件夹位置写数据,指定为一个字符或字符串向量。位置可以指定一个完整或相对路径。这些选项指定的文件夹可以是:

  • 现有的空文件夹不包含其他文件

  • 新文件夹创建

你可以写数据到本地文件夹在您的计算机上,文件夹在一个共享的网络,或偏远地区,比如Amazon S3™, Windows Azure®存储Blob或Hadoop®分布式文件系统(HDFS™)。关于阅读和写作的更多信息数据到远程位置,明白了使用远程数据

例子:位置=“. . / . . / dir /数据”指定一个相对文件路径。

例子:位置= ' C: \ \用户桌面的名字\ \数据”指定一个绝对路径窗口®桌面文件夹。

例子:位置= '文件:/ / /道路/ /数据的指定一个绝对URI路径文件夹。

例子:位置= ' hdfs: / / myHadoopCluster /一些/输出/文件夹”指定一个HDFS URL。

例子:位置= ' s3: / / bucketname /一些/输出/文件夹”指定一个Amazon S3的位置。

数据类型:字符|字符串

输入数组,指定为一个分布式阵列。

文件命名模式,指定为一个字符串或一个字符向量。文件命名模式必须包含一个文件夹将文件写入一个文件名,包括一个通配符紧随其后*与顺序数字替换通配符,确保独特的文件名。

例子:写(“文件夹/ data_ * . txt”, D)写分布式阵列D作为一个系列的. txt文件文件夹的文件名data_1.txt,data_2.txt,等等。

数据类型:字符|字符串

名称-值参数

指定可选的逗号分隔条名称,值参数。的名字参数名称和吗价值相应的价值。的名字必须出现在引号。您可以指定几个名称和值对参数在任何顺序Name1, Value1,…,的家

例子:写(“C: \ myData”D“文件类型”,“文本”,“WriteVariableNames”,假)写分布式阵列DC: \ myData作为一个文本文件的集合,不使用变量名作为列标题。
一般选择

全部折叠

类型的文件,指定为逗号分隔组成的“文件类型”其中一个允许文件类型:“汽车”,“垫”,“铺”,“>”,“文本”,或“表格”

使用“文件类型”名称-值对的位置写参数来指定什么类型的文件。默认情况下,尝试自动检测正确的文件类型。你不需要指定“文件类型”名称-值对论点如果可以确定文件类型的扩展位置filepattern参数。从这些扩展可以确定文件类型:

  • .mat对MATLAB数据文件

  • .parquet.parq镶木地板文件

  • .seq序列文件

  • . txt,.dat,或. csv分隔的文本文件

  • xls,.xlsx,.xlsb,.xlsm,.xltx,或.xltm电子表格文件

例子:写(“C: \ myData”D“文件类型”,“文本”)

自定义编写函数,指定为逗号分隔组成的“WriteFcn”和一个函数处理。指定的函数接收的数据块D并负责创建输出文件。您可以使用“WriteFcn”名称-值对论点写各种格式的数据,即使不直接支持的输出格式金宝app

函数签名

自定义编写函数必须接受两个输入参数,信息数据:

函数myWriter(信息,数据)

  • 数据包含一个数据块D

  • 信息是一个结构,包含的数据块信息字段。您可以使用领域建立一个新文件名称是全球独一无二的最终位置。结构字段:

    描述
    RequiredLocation 完全限定路径暂时输出文件夹。所有输出文件必须写入此文件夹。
    RequiredFilePattern 所需的文件模式输出文件的名字。这个字段是空的,如果只指定一个文件夹的名字。
    SuggestedFilename 完全限定,全局唯一满足的位置和文件名的命名要求。
    PartitionIndex 指数分布的数组写入分区。
    NumPartitions 分区总数在分布式阵列。
    BlockIndexInPartition 当前分区内的数据块的位置。
    IsFinalBlock 真正的如果当前块的最后一块分区。

文件命名

用于输出文件的文件名决定的顺序读了在以后的的文件数据存储。如果文件的顺序问题,最佳实践是使用SuggestedFilename字段名称建议以来的文件名称担保文件的顺序。如果不使用建议的文件名,自定义编写函数必须创建全局唯一,正确有序的文件名。文件名应该遵循中概述的命名模式RequiredFilePattern。文件名称必须是唯一的和工人之间正确的命令,尽管每个工人写入自己的本地文件夹。

数组与多个分区

分布式阵列分为分区来帮助运行计算数组与并行计算工具箱™。当编写一个分布式阵列,每个分区分成小块。

信息包含几个字段相关的分区:PartitionIndex,NumPartitions,BlockIndexInPartition,IsFinalBlock。这些字段是有用的,当你写出一个文件附加到它,这是一个常见的任务与大型阵列的分区已经被分成许多块。自定义每个块写函数被调用一次,和一个分区块总是写在订单在一个工人。然而,不同的分区可以由不同的工人。

例子函数

写一个简单的函数,写出电子表格文件是:

函数dataWriter(信息、数据)文件名= info.SuggestedFilename;writetable(数据、文件名“文件类型”,“表格”)结束
调用dataWriter编写函数的一些数据D使用命令:
分布式(D = array2table (rand (5000 3)));位置=“/ tmp / MyData / D_ * .xlsx”;写(位置、维“WriteFcn”,@dataWriter);
对于每个块,dataWriter函数使用的建议文件名称信息结构和调用writetable写出一个电子表格文件。建议文件名字考虑了文件中指定的命名模式位置论点。

数据类型:function_handle

文本或电子表格文件

全部折叠

指标编写变量名作为列标题,指定为逗号分隔组成的“WriteVariableNames”和一个数字或逻辑1(真正的)或0()。

指示器

行为

真正的

变量名作为输出的列标题。这是默认的行为。

变量名不包含在输出中。

现场写日期,指定为逗号分隔组成的“DateLocale”和一个特征向量或一个字符串标量。当你写datetime值到文件,使用DateLocale指定的场所应该写月,一周中的第几天名称和缩写。特征向量或字符串形式xx_YY,在那里xx是小写的ISO 639 - 1两个字母的代码表示一种语言,然后呢YY是一个大写的ISO 3166 - 1α2代码表示一个国家。语言环境的共同价值观,看到语言环境名称-值对的理由datetime函数。

为Excel®文件,写变量包含datetime数组作为Excel日期和忽略了“DateLocale”参数值。如果datetime变量包含之前1900年或1904年,写的变量为文本。Excel日期的更多信息,请参阅差异在Excel 1900和1904号系统

例子:“DateLocale”、“ja_JP”“DateLocale”、“ja_JP”

数据类型:字符|字符串

文本文件只

全部折叠

字段分隔符字符,指定为逗号分隔组成的“分隔符”和其中一个说明符:

说明符

字段分隔符

”、“

“逗号”

逗号。这是默认的行为。

' '

“空间”

空间

' \ t '

“标签”

选项卡

“;”

“半”

分号

“|”

“酒吧”

竖线

您可以使用“分隔符”名称-值对的观点仅为分隔的文本文件。

例子:“分隔符”、“空间”“分隔符”,“空间”

指标写引用文本,指定为逗号分隔组成的“QuoteStrings”,要么真正的。如果“QuoteStrings”真正的,然后包含双引号中的文本,并取代任何双引号字符出现的文本和两个双引号字符。例如,看到的写引用文本CSV文件

您可以使用“QuoteStrings”名称-值对论点只有分隔的文本文件。

字符编码方案相关文件,指定为逗号分隔组成的“编码”“系统”或一个标准字符编码方案的名字像这个表中的值之一。当你不指定任何编码或指定编码“系统”,函数使用系统默认编码写文件。

“繁体”

“iso - 8859 - 1”

“windows - 874”

“Big5-HKSCS”

“iso - 8859 - 2”

“windows - 949”

“CP949”

“iso - 8859 - 3”

“windows - 1250”

“EUC-KR”

“iso - 8859 - 4”

“windows - 1251”

“EUC-JP”

“iso - 8859 - 5”

“windows - 1252”

“EUC-TW”

“iso - 8859 - 6”

“windows - 1253”

“GB18030”

“iso - 8859 - 7”

“windows - 1254”

“GB2312”

“iso - 8859 - 8”

“windows - 1255”

“GBK”

“iso - 8859 - 9”

“windows - 1256”

“IBM866”

“iso - 8859 - 11”

“windows - 1257”

“KOI8-R”

“iso - 8859 - 13”

“windows - 1258”

“KOI8-U”

“iso - 8859 - 15”

“us - ascii”

“麦金塔”

“utf - 8”

“Shift_JIS”

例子:“编码”、“系统”“编码”,“系统”使用系统默认的编码。

电子表格文件只

全部折叠

目标工作表,指定为逗号分隔组成的“表”和一个特征向量或一个字符串标量包含工作表名称或一个正整数表示工作表索引。工作表名称不能包含冒号(:)。确定的名称表电子表格文件,使用(地位、床单)= xlsfinfo(文件名)

如果表不存在,那么添加一个新表的最后工作表集合。如果表索引大于工作表的数量,附加的空表到工作表的工作簿的数量等于表索引。在这两种情况下,生成一个警告,表明它已经添加了一个新的工作表。

您可以使用“表”名称-值对论点只有电子表格文件。

例子:“表”,2

例子:“表”,“MySheetName”

数据类型:字符|字符串|||int8|int16|int32|int64|uint8|uint16|uint32|uint64

镶木地板文件只

全部折叠

镶花的压缩算法,指定为其中一个值。

  • “时髦的”,“brotli”,“gzip”,或未压缩的。如果你指定一个压缩算法压缩所有变量使用相同的算法。

  • 此外,您可以指定一个单元阵列特征向量或一个字符串向量包含压缩算法的名称为每个变量使用。

一般来说,“时髦的”阅读和写作,具有更好的性能“gzip”压缩比更高的成本更多的CPU处理时间,然后呢“brotli”通常产生最小的文件大小压缩速度为代价的。

例子:写(“C: \ myData”D“文件类型”,“铺”,“VariableCompression”,“brotli”)

例子:写(“C: \ myData”D“文件类型”,“铺”,“VariableCompression”, {brotli的“时髦的”的gzip})

编码方案名称,指定这些值之一:

  • “汽车”- - - - - -使用“普通”编码逻辑变量和“字典”所有其他编码。

  • “字典”,“普通”——如果你指定一个编码方案将所有变量编码的方案。

  • 此外,您可以指定一个单元阵列特征向量或一个字符串向量包含编码方案的名称为每个变量使用。

一般来说,“字典”编码结果在较小的文件大小,但是“普通”可以更快的编码不包含许多重复值的变量。如果字典的大小或数量的惟一值太大,然后编码自动恢复到普通编码。镶花的更多信息编码,请参阅剧场正厅座位编码定义

例子:(“myData写。拼花”,D,“文件类型”、“铺”、“VariableEncoding”、“普通”)

例子:(“myData写。拼花”,D,“文件类型”、“拼花”、“VariableEncoding”{“平原”“词典”“平原”})

拼花版使用,指定为“1.0”“2.0”。默认情况下,“2.0”提供最有效的存储,但是你可以选择“1.0”最广泛的兼容性与外部应用程序支持拼花的格式。金宝app

限制

在某些情况下,写(位置、D“文件类型”,类型)创建文件,不代表原始数组中D完全正确。如果你使用数据存储(位置)读取检查点文件,那么结果可能没有相同的格式或内容与原始分布表。

“文本”“表格”文件类型,使用这些规则:

  • 输出数值变量使用longG格式和分类、字符或字符串变量作为非上市文本。

  • 对于非文本的变量有多个列,在每一行输出多个delimiter-separated字段,构造合适的列标题文件的第一行。

  • 输出变量有超过两个维度为二维变量,与落后的维度倒塌。

  • 对于cell-valued的变量,输出每个单元格的内容作为一个单独的行,在多个delimiter-separated字段,当数字内容,逻辑,人物,或直言,输出一个空字段。

不使用“文本”“表格”文件类型如果您需要编写一个完全分布式阵列的检查点。

提示

  • 使用函数来创建检查点快照你的数据,你的工作。这种做法可以重建分布式阵列直接从磁盘上的文件,而不是重新执行的所有命令产生分布式阵列。

介绍了R2017a