Skip to main content

Aerospike Quick Look (AQL)

Aerospike Quick Look (AQL) is a tool for browsing the data in the Aerospike database.

caution

Previously deprecated index management and access control were removed in Tools 8.0.1.

Case sensitivity

AQL commands, such as SELECT, and modifiers of commands, such as WHERE, are not case sensitive. The formal command syntax here shows uppercase, while many examples show lowercase.

Namespace names, bin names, and names of other objects are case-sensitive.

No relation to SQL, syntax differences

AQL is not SQL! The names just happen to be similar.

One syntactical difference between them is that SQL statements must end with a semicolon (;). AQL statements can terminate with a semicolon, but a semicolon is not required.

Get help with AQL

AQL help details command-line options and commands. You can also type aql --help from the command line. The following commands can be upper- or lowercase:

  • HELP AGGREGATE
  • HELP DELETE
  • HELP DESC
  • HELP EXECUTE
  • HELP EXPLAIN
  • HELP GET
  • HELP INSERT
  • HELP REGISTER
  • HELP REMOVE
  • HELP RESET
  • HELP SELECT
  • HELP SET
  • HELP SHOW
  • HELP TRUNCATE

Configuration file

Configure AQL with the standard Aerospike tools configuration file. See Aerospike Tools Configuration.

Start AQL and run commands

Start AQL on the Linux command-line with the following command.

aql

This command displays the prompt aql> where you enter AQL commands, modifiers, and arguments.

View specific records

To look at the details of a specific record, use EXPLAIN SELECT.

You must use the primary key of the record.

EXPLAIN SELECT * FROM namespaceName.setName WHERE PK=valueOfPrimaryKey

Results for the valueOfPrimaryKey object are displayed as a table by default.

To display results in JSON format, you must set the output mode:

aql> SET OUTPUT JSON
OUTPUT = JSON

For other allowable values, enter HELP SET.

You can also specify outputmode = 'outputType' in your [configuration file](#configuration-file].

Register, show, and remove User-Defined Functions (UDFs)

UDFs are programs you write in Lua that augment some of the basic features of Aerospike, such as aggregating or modifying data. For details, see the User-Defined Functions (UDF) Development Guide.

Register a UDF

UDFs must be registered with the system. When you register a UDF module, the module is copied to all nodes in the cluster.

Assume you have already created a UDF. Use REGISTER MODULE to let the system know that it exists. The path to the module must be enclosed in double quotation marks:

REGISTER MODULE "pathToLuaFile"

Example

aql> REGISTER MODULE "udf/testudf.lua"
OK, 1 module added.

Show UDFs already registered

Use SHOW MODULES.

The output shows the filename of the module, its type, which is lua, and a hash.

Example

aql> SHOW MODULES
+---------------------------+-------+------------------------+
| module | type | hash |
+---------------------------+-------+------------------------+
| "example1.lua" | "lua" | "033671e05067888fce09" |
| "example2.lua" | "lua" | "07b42082cca8e73a96b2" |
+---------------------------+-------+------------------------+
2 rows in set (0.000 secs)

Remove registered UDFs

To completely remove a UDF module from the system, use REMOVE MODULE.

Double quotation marks around the module name are optional.

Example

aql> REMOVE MODULE example2.lua