<?php
declare(strict_types=1);
error_reporting(E_ALL);
ini_set('display_errors', 'On');
include __DIR__ . '/../vendor/autoload.php';
include __DIR__ . '/helpers/ConsoleLogger.php';
include __DIR__ . '/helpers/ConsoleTable.php';
use Level23\Druid\DruidClient;
use Level23\Druid\Filters\FilterBuilder;
use Level23\Druid\Extractions\ExtractionBuilder;
use Level23\Druid\Context\GroupByV2QueryContext;
try {
$client = new DruidClient(['router_url' => 'http://127.0.0.1:8888']);
// Enable this to see some more data
$client->setLogger(new ConsoleLogger());
// Build a groupBy query.
$builder = $client->query('wikipedia')
->interval('2015-09-12 20:00:00', '2015-09-12 22:00:00')
->select('__time', 'hour', function (ExtractionBuilder $extractionBuilder) {
$extractionBuilder->timeFormat('yyyy-MM-dd HH:00:00');
})
->select('namespace')
->count('edits')
->longSum('added')
->where('namespace', 'like', 'Draft%')
->subtotals([['hour', 'namespace'], ['hour'], []]);
// Execute the query.
$response = $builder->groupBy();
//var_export( $response->data());
// Display the result as a console table.
new ConsoleTable($response->data());
} catch (Exception $exception) {
echo "Something went wrong during retrieving druid data\n";
echo $exception->getMessage() . "\n";
echo $exception->getTraceAsString();
}
|