Zoomdata Version

Connector Development Kit

Overview

Zoomdata’s Connector Development Kit provides everything that you need to build custom connectors to integrate Zoomdata with any datastore, whether a MySQL server, a NoSQL server, or a more complex or modern data system. With the connector ready, Zoomdata administrators can use it to connect to appropriate datastores and then build data sources for analysts.

Please email customer support for more information about obtaining the Connector Development Kit.

What's a Connector?

Zoomdata connectors are packaged services built from a Thrift interface definition. You generate an interface in the language of your choice from a Thrift interface definition and then implement the required responses. This connector server is responsible for querying the datastore and making data available to Zoomdata when Zoomdata requests it.

What's in the Box?

The Connector Development Kit includes:

Key Concepts and Terms

Group

A group is used in conjunction with an aggregate function such as count() or sum() to group the result set by one or more columns. Aggregating the group by more than one column requires FEATURE.MULTI_GROUP_SUPPORT. For more information about the FEATURE.MULTI_GROUP_SUPPORT feature, see Connector Info Keys. A Zoomdata group is analogous to a GROUP BY clause in SQL.

Example using SQL:

select count(distinct myField), otherField from myCollection group by otherField

Predicate

A predicate is an expression that uses an operator to evaluate and return true if the condition is met. Predicates are combined to form a filter.

Simple example:

someField > 56.3 Conjunctive

Example:

someField > 56.3 or (not otherField in (‘val1’, ‘val2’))

Filter

A filter is used to return only records that meet the specified criteria. Filters are made of one or more predicates. A filter is analogous to a WHERE clause in SQL.

Example using SQL:

select count(distinct myField), otherField from myCollection where additionalField = ‘Some value’ and otherField is not null

Metric

A metric is a calculation, often performed using one or more fields from a source, to derive a value. Metrics may be calculated globally across an entire collection, or may be calculated along with fields which then become grouped.

Example of global metric in SQL:

select count(*), avg(someField), min(someOtherField) from myCollection

Example of grouped metric in SQL:

select count(*), avg(someField), min(someOtherField), nonMetricField from myCollection group by nonMetricField

Getting Started

To build a Zoomdata connector, you will follow the following high level steps.

  1. Review the features of your data store and your requirements for your connector server.
  2. Generate the connector server in your chosen language using the Apache Thrift interface definition.
  3. Implement the connector server.
  4. Implement responses to requests for data.
  5. Use the Zoomdata connector shell to validate your connector.

By completing the above steps, you can build a Zoomdata connector server to channel information from your data store for use in Zoomdata.