主要内容

parquetwrite

将柱状数据写入Parquet文件

描述

例子

parquetwrite (文件名T写一张表格或时间表T中指定的文件名的Parquet 2.0文件文件名

例子

parquetwrite (文件名T名称,值使用一个或多个名称-值对参数指定其他选项。例如,可以指定“VariableCompression”更改所使用的压缩算法,或“版本”将数据写入Parquet 1.0文件。

例子

全部折叠

将表格数据写入Parquet文件,比较相同表格数据的大小. csv.parquet文件格式。

从文件中读取表格数据outages.csv一个表中。

T = readtable (“outages.csv”);

将数据写入Parquet文件格式。默认情况下,parquetwrite函数使用时髦的压缩方案。要指定其他压缩方案,请参阅“VariableCompression”名称-值对。

parquetwrite (“outagesDefault.parquet”, T)

中获取文件大小并计算表格数据大小的比率. csv格式大小相同的数据.parquet格式。

得到的大小. csv文件。

fcsv = dir ((“outages.csv”));size_csv = fcsv.bytes
size_csv = 101040

得到的大小.parquet文件。

fparquet = dir (“outagesDefault.parquet”);size_parquet = fparquet.bytes
size_parquet = 44881

计算比例。

sizeatio = (size_parquet/size_csv)*100;disp (['Size Ratio = 'num2str (sizeRatio)'原始大小的% '])
尺寸比例=原尺寸的44.419%

输入参数

全部折叠

输出Parquet文件的名称,指定为字符向量或字符串标量。

根据你要写的位置,文件名可以表现为这些形式中的一种。

位置

形式

当前文件夹

要写入当前文件夹,请指定文件的名称文件名

例子:“myData.parquet”

其他文件夹

要写入与当前文件夹不同的文件夹,请指定完整路径名或相对路径名文件名

例子:“C: \ myFolder \ myData.parquet”

例子:“dataDir \ myData.parquet”

远程位置

要写入远程位置,文件名必须包含指定为表单的统一资源定位符(URL)的文件的完整路径:

scheme_name://path_to_file/myData.parquet

基于偏远的地理位置,scheme_name可以是该表中的值之一。

远程位置 scheme_name
Amazon S3™ s3
Windows Azure®Blob存储 wasbwasbs
HDFS™ hdfs

有关更多信息,请参见使用远程数据

例子:s3: / / bucketname / path_to_file / myData.parquet '

数据类型:字符|字符串

输入数据,指定为表或时间表。

名称-值对的观点

指定可选的逗号分隔的对名称,值参数。的名字参数名和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:parquetwrite(文件名,T,‘VariableCompression’,‘gzip’,“版本”,“1.0”)

压缩方案名称,指定为以下值之一:

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

  • 或者,您可以指定字符向量的单元格数组或包含每个变量使用的压缩算法名称的字符串向量。

一般来说,“时髦的”具有更好的读写性能,“gzip”具有更高的压缩比,但代价是更多的CPU处理时间,以及“brotli”通常以压缩速度为代价生成最小的文件大小。

例子:parquetwrite(“myData。parquet', T, ' varilecompression ', 'brotli')

例子:parquetwrite(“myData。parquet', T, 'VariableCompression', {'brotli' 'snappy' ' 'gzip'})

编码方案名称,指定为以下值之一:

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

  • “字典”“普通”—如果指定一个编码方案parquetwrite用该方案对所有变量进行编码。

  • 或者,您可以指定字符向量的单元格数组或包含每个变量使用的编码方案名称的字符串向量。

一般来说,“字典”编码会导致文件变小,但是“普通”对于不包含许多重复值的变量,编码可以更快。如果字典的大小或唯一值的数量增长到太大,那么编码将自动恢复为普通编码。有关镶木地板编码的更多信息,请参见剧场正厅座位编码定义

例子:parquetwrite(“myData。parquet', T, 'VariableEncoding', 'plain')

例子:parquetwrite(“myData。parquet', T, 'VariableEncoding', {'plain' ' '字典' 'plain'})

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

谨慎

Parquet 1.0版本有一个限制,它不能往返类型的变量uint32(它们被读入MATLAB®作为int64).

限制

在某些情况下,parquetwrite创建不代表原始数组的文件T完全正确。如果你使用parquetread数据存储若要读取文件,则结果可能与原始表的格式或内容不同。有关更多信息,请参见Apache Parquet数据类型映射

介绍了R2019a