<?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\Types\Granularity;
try {
$client = new DruidClient(['router_url' => 'http://127.0.0.1:8888']);
// Enable this to see some more data
//$client->setLogger(new ConsoleLogger());
// Build our compact task.
$taskId = $client->compact('wikipedia')
->interval('2015-09-12T00:00:00.000Z/2015-09-13T00:00:00.000Z ')
->segmentGranularity(Granularity::DAY)
->tuningConfig(['maxRowsInMemory' => 50000])
->execute();
echo "Inserted task with id: " . $taskId . "\n";
// Start polling task status.
while (true) {
$status = $client->taskStatus($taskId);
echo $status->getId() . ': ' . $status->getStatus() . "\n";
if ($status->getStatus() != 'RUNNING') {
break;
}
sleep(2);
}
echo "Final status: \n";
$response = $status->data();
unset($response['location']);
// Display the result as a console table.
new ConsoleTable([$response]);
} catch (Exception $exception) {
echo "Something went wrong during retrieving druid data\n";
echo $exception->getMessage() . "\n";
echo $exception->getTraceAsString();
}
|