Skip to content

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

sql
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 delegation 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:

sql
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