The maprdb
format plugin enables you to query binary and JSON tables
like you would query files in a file system because MapR Database and
the MapR File System share the same namespace.
Binary tables differ from JSON tables in that they store a multi-dimensional map in which
both keys and values are a sequence of bytes. JSON tables store OJAI documents. JSON tables
support rich data types, including complex and repeated types, that enable database servers to
evaluate filter conditions for optimized query execution. Binary tables can pose performance
limitations because the table columns do not contain the necessary type information.
You can query tables stored in any directory in
MapR Database using
the same syntax that you use to select from files in the
MapR File System. Instead of including the path of a file in a query, you include the table path. The user
running the query must have
read permission to access the table.
NOTE MapR Database is
a case sensitive data source. To ensure that your queries return results, use the case that
corresponds to the column names in the JSON tables and views that you query. For example, if
you query the “age” column in a JSON table, the query must reference the column as “age” and
cannot reference the column as “AGE” or the query will not return results. If you have a
dataset where a column name has mixed cases, such as “age” and “AGE,” cleanse the data set
so column names consist of one case and then reimport the data into the table to ensure a
complete result set when you query the column.
The following sections describe the types of tables that MapR Database supports, provide examples of Drill queries on each type of table, and show you how to load
data into a JSON table from JSON files.