Apache Parquet(https://parquet.apache.org)是一种开源的、面向列的数据文件格式,提供了高效的数据压缩和编码方案,文件名后缀为”.parquet” 。
由于Parquet文件中包含了数据的Schema信息,所以在读取数据时,只需输入文件的路径即可。Alink的批式/流式读取Parquet文件的组件,也只需设置FilePath参数,使用起来非常简单。
下面先演示一个批式读取的示例,具体代码如下。文件名称为“iris.parquet”,存储在OSS文件系统上,可以通过HTTP方式访问。使用Alink ParquetSourceBatchOp组件进行读取,然后进行统计操作并打印输出统计结果,最后打印输出一些数据。
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|
随后是打印输出的部分数据。
也可以使用流的方式读取数据,具体示例代码如下。使用Alink ParquetSourceStreamOp组件进行读取,打印输出数据。
ParquetSourceStreamOp()\.setFilePath("https://alink-test-data.oss-cn-hangzhou.aliyuncs.com/iris.parquet")\.print()StreamOperator.execute()
运行结果如下,对于流式数据分时间窗口进行显示,这里是最后一个窗口的内容,该窗口内共收到了63条数据。
