thedataist / drill-connector
允许您以编程方式连接到Apache Drill的对象。
v0.1.1
2018-03-12 16:24 UTC
Requires
- php: ^5.3 | ^7.0
- thedataist/drill-connector: dev-master
Requires (Dev)
- phpunit/phpunit: ~4.0
This package is not auto-updated.
Last update: 2024-09-22 06:28:39 UTC
README
此库允许您以编程方式连接和查询Apache Drill。它基于PHP的mysql接口进行松散建模,因此如果您熟悉它,您已经基本上知道如何使用Drill连接器。
安装连接器
连接器位于Packageist (https://packagist.org.cn/packages/thedataist/drill-connector),可以使用composer按以下方式安装
composer require thedataist/drill-connector:dev-master
使用连接器
第一步是连接到Drill。该模块使用Drill的RESTful接口,因此它实际上并没有建立与MySQL相同的“连接”。
$drill = new DrillConnection( 'localhost', 8047 );
如前所述,这会创建对象,但实际上并没有向Drill发送任何内容。您可以使用is_active()方法验证您的连接是否活跃。
if( $drill->is_active() ) { print( "Connection Active" ); } else { print( "Connection Inactive" ); }
查询Drill
现在您已经连接到Drill,您可以通过调用query()方法以与MySQL类似的方式查询Drill。一旦调用query()方法,您就可以使用其中一个fetch()方法以类似MySQL的方式检索结果。目前Drill连接器具有以下方法
fetch_all():返回查询结果的所有关联数组。fetch_assoc():返回单个查询行作为关联数组。fetch_object():返回单个行作为PHP对象。
您可能还会发现以下函数很有用
data_seek($n):返回索引为$n的行并将当前行设置为$n。num_rows():返回查询返回的行数。field_count():返回查询返回的列数。
因此,如果您想在Drill中执行查询,可以按以下方式操作
$query_result = $drill->query( "SELECT * FROM cp.`employee.json` LIMIT 20" );
while( $row = $query_result->fetch_assoc() ) {
print( "Field 1: {$row['field1']}\n" );
print( "Field 2: {$row['field2']}\n" );
}
与Drill交互
您还可以使用连接器激活/停用Drill的存储以及获取有关Drill插件的详细信息。
disable_plugin( $plugin )禁用指定的插件。如果成功返回true,如果不成功返回false。enable_plugin( $plugin )启用指定的插件。如果成功返回true,如果不成功返回false。get_all_storage_plugins()返回所有存储插件的数组。get_disabled_storage_plugins()返回所有已禁用插件的数组。get_enabled_storage_plugins()返回所有已启用插件的数组。get_storage_plugins()返回所有插件及其关联配置选项的关联数组。get_storage_plugin_info( $plugin )返回指定插件的配置选项的关联数组。