thedataist/drill-connector

允许您以编程方式连接到Apache Drill的对象。

v0.1.1 2018-03-12 16:24 UTC

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 ) 返回指定插件的配置选项的关联数组。