Apache Parquet(https://parquet.apache.org)是一种开源的、面向列的数据文件格式,提供了高效的数据压缩和编码方案,文件名后缀为".parquet" 。
由于Parquet文件中包含了数据的Schema信息,所以在读取数据时,只需输入文件的路径即可。Alink的批式/流式读取Parquet文件的组件,也只需设置FilePath参数,使用起来非常简单。
下面先演示一个批式读取的示例,具体代码如下。文件名称为“iris.parquet”,存储在OSS文件系统上,可以通过HTTP方式访问。使用Alink ParquetSourceBatchOp组件进行读取,然后进行统计操作并打印输出统计结果,最后打印输出一些数据。
new ParquetSourceBatchOp() .setFilePath("https://alink-test-data.oss-cn-hangzhou.aliyuncs.com/iris.parquet") .lazyPrintStatistics() .print();
运行结果如下,统计信息显示有150条记录,和iris数据集的条数相符;随后是打印输出的部分数据。
Summary: |colName|count|missing| sum| mean|variance|min|max| |-------|-----|-------|-----|------|--------|---|---| | class| 150| 0| NaN| NaN| NaN|NaN|NaN| | f0| 150| 0|876.5|5.8433| 0.6857|4.3|7.9| | f1| 150| 0|458.1| 3.054| 0.188| 2|4.4| | f2| 150| 0|563.8|3.7587| 3.1132| 1|6.9| | f3| 150| 0|179.8|1.1987| 0.5824|0.1|2.5| class|f0|f1|f2|f3 -----|---|---|---|--- Iris-setosa|5.1000|3.5000|1.4000|0.2000 Iris-versicolor|5.0000|2.0000|3.5000|1.0000 Iris-setosa|5.1000|3.7000|1.5000|0.4000 Iris-virginica|6.4000|2.8000|5.6000|2.2000 Iris-versicolor|6.0000|2.9000|4.5000|1.5000 Iris-setosa|4.9000|3.0000|1.4000|0.2000 Iris-versicolor|5.7000|2.6000|3.5000|1.0000 Iris-setosa|4.6000|3.6000|1.0000|0.2000 Iris-versicolor|5.9000|3.0000|4.2000|1.5000 Iris-virginica|6.3000|2.8000|5.1000|1.5000 ...... Iris-virginica|7.2000|3.0000|5.8000|1.6000 Iris-versicolor|4.9000|2.4000|3.3000|1.0000 Iris-virginica|7.4000|2.8000|6.1000|1.9000 Iris-virginica|6.5000|3.2000|5.1000|2.0000 Iris-versicolor|6.6000|2.9000|4.6000|1.3000 Iris-virginica|7.9000|3.8000|6.4000|2.0000 Iris-versicolor|5.2000|2.7000|3.9000|1.4000 Iris-virginica|6.4000|2.7000|5.3000|1.9000 Iris-virginica|6.8000|3.0000|5.5000|2.1000 Iris-virginica|5.7000|2.5000|5.0000|2.0000
也可以使用流的方式读取数据,具体示例代码如下。使用Alink ParquetSourceStreamOp组件进行读取,打印输出数据。
new ParquetSourceStreamOp() .setFilePath("https://alink-test-data.oss-cn-hangzhou.aliyuncs.com/iris.parquet") .print(); StreamOperator.execute();
运行结果如下,由于输出的记录条数较多,这里省略了中间的大部分记录。
class|f0|f1|f2|f3 -----|---|---|---|--- Iris-setosa|5.1000|3.5000|1.4000|0.2000 Iris-versicolor|5.0000|2.0000|3.5000|1.0000 Iris-setosa|5.1000|3.7000|1.5000|0.4000 Iris-virginica|6.4000|2.8000|5.6000|2.2000 Iris-versicolor|6.0000|2.9000|4.5000|1.5000 Iris-setosa|4.9000|3.0000|1.4000|0.2000 Iris-versicolor|5.7000|2.6000|3.5000|1.0000 Iris-setosa|4.6000|3.6000|1.0000|0.2000 Iris-versicolor|5.9000|3.0000|4.2000|1.5000 ...... Iris-virginica|7.2000|3.6000|6.1000|2.5000 Iris-virginica|7.2000|3.0000|5.8000|1.6000 Iris-versicolor|4.9000|2.4000|3.3000|1.0000 Iris-virginica|7.4000|2.8000|6.1000|1.9000 Iris-virginica|6.5000|3.2000|5.1000|2.0000 Iris-versicolor|6.6000|2.9000|4.6000|1.3000 Iris-virginica|7.9000|3.8000|6.4000|2.0000 Iris-versicolor|5.2000|2.7000|3.9000|1.4000 Iris-virginica|6.4000|2.7000|5.3000|1.9000 Iris-virginica|6.8000|3.0000|5.5000|2.1000 Iris-virginica|5.7000|2.5000|5.0000|2.0000