MapR-DB Tables

The maprdb format plugin enables you to query binary and JSON tables like you would query files in a file system because MapR-DB and 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-DB 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 MapR table.
Note: MapR-DB 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-DB 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.