druid-client


License

License

Categories

Categories

CLI User Interface druid Data Databases
GroupId

GroupId

eu.m6r
ArtifactId

ArtifactId

druid-client_2.12
Last Version

Last Version

0.1.3
Release Date

Release Date

Type

Type

jar
Description

Description

druid-client
druid-client
Project URL

Project URL

https://github.com/mbrtargeting/druid-client
Project Organization

Project Organization

eu.m6r
Source Code Management

Source Code Management

https://github.com/mbrtargeting/druid-client

Download druid-client_2.12

How to add to project

<!-- https://jarcasting.com/artifacts/eu.m6r/druid-client_2.12/ -->
<dependency>
    <groupId>eu.m6r</groupId>
    <artifactId>druid-client_2.12</artifactId>
    <version>0.1.3</version>
</dependency>
// https://jarcasting.com/artifacts/eu.m6r/druid-client_2.12/
implementation 'eu.m6r:druid-client_2.12:0.1.3'
// https://jarcasting.com/artifacts/eu.m6r/druid-client_2.12/
implementation ("eu.m6r:druid-client_2.12:0.1.3")
'eu.m6r:druid-client_2.12:jar:0.1.3'
<dependency org="eu.m6r" name="druid-client_2.12" rev="0.1.3">
  <artifact name="druid-client_2.12" type="jar" />
</dependency>
@Grapes(
@Grab(group='eu.m6r', module='druid-client_2.12', version='0.1.3')
)
libraryDependencies += "eu.m6r" % "druid-client_2.12" % "0.1.3"
[eu.m6r/druid-client_2.12 "0.1.3"]

Dependencies

compile (11)

Group / Artifact Type Version
org.scala-lang : scala-library jar 2.12.1
org.scalaj : scalaj-http_2.12 jar 2.3.0
com.typesafe.scala-logging : scala-logging_2.12 jar 3.5.0
com.fasterxml.jackson.core : jackson-databind jar 2.8.6
com.fasterxml.jackson.datatype : jackson-datatype-joda jar 2.8.6
com.fasterxml.jackson.module : jackson-module-scala_2.12 jar 2.8.6
org.eclipse.persistence : org.eclipse.persistence.moxy jar 2.6.0
com.twitter : util-zk_2.12 jar 6.39.0
com.github.scopt : scopt_2.12 jar 3.5.0
joda-time : joda-time jar 2.9.6
org.apache.httpcomponents : httpclient jar 4.5.2

test (1)

Group / Artifact Type Version
org.scalatest : scalatest_2.12 jar 3.0.1

Project Modules

There are no modules declared in this project.

Druid Client Build Status

Druid client that simplifies interactions with the Druid API.

Scaladoc

Usage

You can either use the druid-client as a Scala library or from command-line.

Import to your Scala project:

libraryDependencies ++= Seq("eu.m6r" %% "druid-client" % "0.1.2")

CLI

Task-Config

XML Example:

<task:taskConfig xmlns:task="http://m6r.eu/druid/client/task-config">
  <!--1 or more repetitions:-->
  <dimensions>string</dimensions>
  <!--1 or more repetitions:-->
  <metrics>
    <type>string</type>
    <name>string</name>
    <fieldName>string</fieldName>
  </metrics>
</task:taskConfig>

JSON Example (json config filename has to end with json):

{
  "taskConfig": {
    "dimensions": [
      "string"
    ],
    "metrics": [
        {
          "type": "string",
          "name": "string",
          "fieldName": "string"
        }
    ]
  }
}

You can use models.Utils.parseTaskConfig(file) to parse a task config file programmatically.

Build

We support Scala 2.11 and 2.12. To do a cross-build that create jars for all supported Scala versions, do:

sbt +package

To build fat jars:

sbt +assembly

Publish artifact

sbt +publishSigned

Upload Scaladoc to Github Pages

Build and upload Scaladoc documentation to Github pages.

sbt ghpagesPushSite

TODO

  • Add scaladoc comments
  • Add documentation to the README. e.g.
    • methods description
    • parameters description
    • Examples
    • how to contribute
  • Add tests
  • Write to druid mailing list
  • Add to druid libraries page
  • Upload to maven central

Optional

  • Support more druid functions:
    • Queries
  • Build .deb with sbt.
  • Maybe upload .deb to ubuntu package sources.
  • Would be nice to support brew.
eu.m6r

Ströer Labs

Ströer Labs

Versions

Version
0.1.3
0.1.2
0.1.1
0.1.0