Apache Drill Drillbit
Query any non-relational datastore (well, almost....)
Drill supports a variety of NoSQL databases and file systems,
including HBase, MongoDB, MapR-DB, HDFS, MapR-FS, Amazon S3,
Azure Blob Storage, Google Cloud Storage, Swift, NAS and local files.
A single query can join data from multiple datastores. For example,
you can join a user profile collection in MongoDB with a directory
of event logs in Hadoop.
Drill's datastore-aware optimizer automatically restructures a
query plan to leverage the datastore's internal processing capabilities.
In addition, Drill supports data locality, so it's a good idea to
co-locate Drill and the datastore on the same nodes.
To deploy this charm simply run:
juju deploy apache-zookeeper zookeeper
juju add-unit -n 2 apache-zookeeper (optional but recommended for a quorum)
juju deploy cs:~spiculecharms/apache-drill
juju add-relation apache-drill zookeeper
juju expose apache-drill
There is a webconsole running on http://:8047/
If you are running a Hadoop setup, you can also test the HDFS connectivity.
juju add-relation apache-drill namenode
This will add a datasource entry for your Hadoop namenode. You can then query CSV/JSON/Parquet files.
To enable security you need to first set and administrative user, inside the Drill console run the following:
ALTER SYSTEM SET `security.admin.users`='<myuser>'
Then in the config enable basic_auth and basic_security_auth. Once drill has restarted you should then see a user login
in the top corner. To create a user either create a standard unix user using useradd or use the following action:
juju run-action apache-drill/0 adduser username="<myuser>" password="<mypword>"
You should then be able to login with this user.
You can simply add new units and they will be added to the cluster automatically:
juju add-unit -n 2 apache-drill
drill_url: Allows you to set an alternative download url for Apache Drill.
cluster_id: Allows you to set an alternative cluster id for Zookeeper.
If you require commercial support for this charm or Apache Drill, please contact us and we'd be happy to help.
Email us at email@example.com and we can arrange a call to discuss your requirements.