概述
用于读取和写入 Apache ORC 文件格式的 PHP 库。它使用 swoole/phpy 扩展来调用 Python 模块 PyORC 以实现相关功能。
Apache ORC
Apache ORC 是一种专为 Hadoop 生态系统设计的列式存储文件格式,它具备高效的数据压缩和快速的查询性能。由于采用列式存储,ORC 格式在处理大规模数据时能够显著减少 I/O 开销,提高数据处理效率,广泛应用于大数据处理框架如 Apache Hive、Apache Spark 等。
特性:
- 读取 ORC 文件:PyORC 允许 Python 程序从 ORC 文件中读取数据。它支持按行或按列读取数据,并且可以根据需要选择读取特定的列,从而避免不必要的数据加载,提升读取效率。
- 写入 ORC 文件:能够将 Python 中的数据(如列表、字典等)以 ORC 格式写入文件。在写入过程中,可以指定数据的模式(schema),包括列名、数据类型等,以确保数据的正确存储。
- 数据模式处理:支持对 ORC 文件的数据模式进行解析和操作。可以获取文件的模式信息,也可以自定义模式来创建新的 ORC 文件。
Swoole Phpy
phpy 是识沃团队最新推出的开源项目,目标是为 PHP 引入 Python 生态,来弥补 PHP 生态的空缺和不足。phpy 使得 PHP 可以调用所有 Python 的包。
它为 PHP 开发者提供了一种在 PHP 代码里调用 Python 模块和函数的能力,搭建起了 PHP 和 Python 这两种编程语言之间的桥梁,极大地扩展了 PHP 的功能边界。
特性:
- 无缝调用 Python 代码:借助 phpy 扩展,PHP 开发者能够在 PHP 脚本里直接调用 Python 编写的函数、类和模块。这意味着可以利用 Python 丰富的科学计算、机器学习、数据分析等领域的库,比如 NumPy、SciPy、TensorFlow 等,而无需离开 PHP 开发环境。
- 数据类型映射:phpy 实现了 PHP 和 Python 数据类型之间的自动映射。例如,PHP 的数组可以自动转换为 Python 的列表或字典,PHP 的标量类型(如整数、浮点数、字符串等)也能正确地转换为 Python 对应的类型,反之亦然。这使得在两种语言之间传递数据变得非常方便。
- 高性能:phpy 在设计上注重性能优化,通过高效的底层实现,减少了 PHP 和 Python 之间的交互开销,确保数据传递和函数调用的高效性。
安装
Composer安装
查看帮助
依赖环境安装
安装Python
通过.vendor/bin/php-orc install:python安装
安装成功后,查看安装成功的python版本号
安装PHPy拓展
通过.vendor/bin/php-orc install:phpy安装
安装成功后,查看安装成功的phpy扩展和版本号
查看phpy版本号
安装pyorc模块
通过.vendor/bin/php-orc install:pyorc安装
开源技术小栈
安装过程如果提示以下错误:
请执行以下命令,安装 pip
执行案例
PHPY案例
os.php文件
执行输出
PyORC案例
文件读取 reader.php
执行输出