External Tables (Manual Creation)
With Indexima, you have the possibility to create an External Table.
An External Table is an Indexima table where only indexed (or aggregated) data is stored. There, you will not find unstructured raw data.
You can create External Tables from a variety of data sources.
Command
You can create an external table with the SQL command CREATE EXTERNAL TABLE
CREATE EXTERNAL TABLE
CREATE EXTERNAL TABLE myexternal FROM default.my_table in 'jdbc:hive2://hive_server:10000/;'
This will create a table called myexternal, based on the table default.my_table that you can find in your Hive server with the host hive_server.
Delegation of the query
In the monitor, on the queries page, a query with the following icon indicates that the query has been delegated to the database.
Usage
Nothing more is needed to query your table. You will notice that you cannot load data into an external table, since the data is already hosted and available via JDBC connections on the source database.
However, an external table like this will just delegate every query to the subsequent database. If you have multiple source databases you can to turn Indexima into a datahub making it your only point of entry.
This is where creating Indexima Hyperindexes facilitates the process. By simply creating Hyperindexes in this table you allow Indexima to do its part on the SQL workload.
Supported database systems with external tables?
Go to Data Source Compatibility matrix
URI JDBC
Go to Data Source Compatibility matrix
Miscellaneous
Make sure not to mistake external tables for syncronized version of table which are:
Syntax
CREATE TABLE my_data_space FROM my_hive_source IN 'jdbc:hive2://my_hive_server:10000'
More
You can learn more about the CREATE EXTERNAL TABLE commands here
You can learn more about creating customized Hyperindexes here