jakiboy/pducky

PHP DuckDB 导入器

0.0.1 2023-11-27 05:32 UTC

This package is auto-updated.

Last update: 2024-09-05 13:14:40 UTC


README

这是一个基本的PHP DuckDB适配器,可以在大型数据文件(CSV)上执行SQL查询。
使用SQLite数据库和自动化的CSV解析器。

实际上这是一个“POC”alpha版本,目前正在开发内置PHP API用于DuckDB。

基准测试

使用1MB行数的大型CSV文件进行测试。
注意:没有应用任何优化!基准测试包括从CSV创建数据库和查询执行。

Pducky

要求

  • PHP exec 函数
  • PHP SQLite3 扩展

安装

composer require jakiboy/pducky

示例

获取单个值

$price = (new Pducky\Adapter('data.csv'))->import()->single(
    'SELECT `price` FROM `temp` WHERE `ean` = "0000123456789";'
);

echo $price; // 540.23$

获取行

$rows = (new Pducky\Adapter('data.csv'))->import()->query(
    'SELECT * FROM `temp` LIMIT 100;'
);

echo $rows; // []

创建数据库

 (new Pducky\Adapter('data.csv.gz'))->import('db', 'product');

待办事项

  • 添加对XML和其他结构化格式的支持
  • 添加对PHP FFI扩展的支持(可选
  • 添加结构化格式转换器
  • 添加头解析器

作者

⭐ 支持

如果您喜欢这个项目,请给它一个星星。