PHP Classes

File: examples/Compact.php

Recommend this page to a friend!
  Classes of T. H.   Druid PHP Client   examples/Compact.php   Download  
File: examples/Compact.php
Role: Example script
Content type: text/plain
Description: Example script
Class: Druid PHP Client
Send queries to a Apache Druid service
Author: By
Last change:
Date: 4 years ago
Size: 1,426 bytes
 

Contents

Class file image Download
<?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();
}