Introduction and Usage Examples
A command line tool for any database can greatly simplify quite a few data management tasks. ApertureDB client ships with a command line utility to support some common functions.
It's design goals are to:
- Reduce boiler plate code for simple tasks.
- Be extensible for arbitrary use cases.
Introduction
adb command line tool lets you:- Configure and manage multiple ApertureDB server connection profiles
- Ingest data from CSV (comma separated value) files while setting up your ETL pipelines
- Use data generators while ingesting this data
- Apply transformations as part of data ingestion
- Update existing metadata and data
- Execute native queries, and
- Invoke common utility methods.
It is automatically installed when the ApertureDB client is installed via pip.
To make it more useful, execute adb --install-completion before anything else
For a complete command line reference, please see documentation.
Common Usage Examples
adb config
To connect to an instance of ApertureDB, we need to specify where and how to connect. This information is collectively refered to as a connection configuration, or config.
The following adb sub commands help with config management.
List all the configs a user has created
adb config ls
Create a config named local
adb config create local
We often need to try things in a sandbox or a local environment, before a production run.
adb config activate
facilitates switching between different database instances.
This way, we can debug things with code using ApertureDB python sdk with config pointing to a
local instance, and once it is satisfactory, activate a production config, and rerun the same code.
Activate one of the configs from the list
adb config activate local --as-global
adb ingest
adb supports 2 out of 3 ingest mechanisms available to load data into an instance of ApertureDB.
Let's assume your data has been saved into a CSV file called hello.csv. Then to ingest, you can run:
adb ingest from-csv hello.csv
Alternatively, assuming that you implement a data generator named hello.py. This is how you could put all the data into ApertureDB.
adb ingest from-generator hello.py
adb transact
If there is a JSON query like any one from these examples saved as a json file named person.json, then it could be run against ApertureDB as follows:
adb transact from-json-file person.json
adb utils
Simple things like getting the DB status, summary, purging all the data, or removing all the indices can be accomplished using commands like:
adb utils execute status
adb utils execute summary
adb utils execute remove_all
Auxillary uses of adb.
- It's a reference of how to build applications using python sdk.
- Commonly (re)used database operations packaged as a CLI
adb source code.
A complete reference to adb options.