SonarCloud results:
Exasol Virtual Schemas are an abstraction layer that makes external data sources accessible in our data analytics platform through regular SQL commands. The contents of the external data sources are mapped to virtual tables which look like and can be queried as any regular Exasol table.
Regardless of whether that source is a relational database like ours, or it's like the structure of GitHub repositories, the interface that users see is always the same.
This means an user familiar with SQL will immediately feel at home when accessing remote data through Virtual Schemas.
From Virtual Schema 2.0.0 on you need Exasol 6.2 or later since it requires Java 9 to run. For Exasol 6.1 choose Virtual Schema 1.x or upgrade to 6.2.
Please use the entry point
com.exasol.adapter.RequestDispatcher
in all your CREATE JAVA ADAPTER SCRIPT
statements. The old entry point was removed with the Version 2.0.0 of Exasol's Virtual Schema.
- Read access to data on remote data sources
- Data in those sources appears as tables inside Exasol and can be queried using regular SQL statements.
- Supports the following relational databases as sources: IBM DB2, Exasol, Generic JDBC-capable RDBMS, MySQL, Oracle, PostgreSQL, Amazon AWS Redshift, SAP HANA Microsoft SQLServer, Sybase, Teradata
- Supports Apache Impala (Hadoop-based analytical database) as a source
- Supports Apache Hive (Hadoop-based data warehouse) as source
- Supports access to file-based columnar storage (e.g. Apache Parquet files) via Amazon AWS Redshift Spectrum, Amazon AWS Athena, AWS Aurora and Google Big Query.
- Pushes down queries to the remote source (some sources)
- Supports sources with no / one / multiple catalogs or schemas
- Allows limiting metadata mapping to selected catalogs and / or schemas
- Allows redirecting log output to a remote machine
- Allows remote debugging with the Java Debugger
This is an open source project which is officially supported by Exasol. For any question, you can contact our support team.
Supported dialects:
- Athena
- Aurora
- Big Query
- DB2
- Exasol
- Hive
- Impala
- MySQL
- Oracle
- PostgreSQL
- Redshift
- SAP HANA
- SQL Server
- Sybase ASE
- Teradata
- Generic
- Virtual Schema API Documentation
- Developing and Testing an SQL Dialect
- Step-by-step guide to writing your own SQL dialect
- Remote Logging
- Remote Debugging
- Troubleshooting
- Versioning
Running the Virtual Schema requires a Java Runtime version 9 or later.
Dependency | Purpose | License |
---|---|---|
JSON-P | JSON Processing | CDDL-1.0 |
Exasol Script API | Accessing Exasol features | MIT License |
JDBC driver(s), depending on data source | Connecting to the data source | Check driver documentation |
Dependency | Purpose | License |
---|---|---|
Apache Derby | Pure-Java embedded database | Apache License 2.0 |
Apache HTTP Components | HTTP communication | Apache License 2.0 |
Apache Maven | Build tool | Apache License 2.0 |
Equals Verifier | Testing equals(...) and hashCode() contracts |
Apache License 2.0 |
Exasol Virtual Schema Common | Common module of Exasol Virtual Schemas adapters | MIT License |
Exec Maven Plugin | Helps execute system and Java programs. | Apache License 2.0 |
Java Hamcrest | Checking for conditions in code via matchers | BSD License |
JSONassert | Compare JSON documents for semantic equality | Apache License 2.0 |
JUnit | Unit testing framework | Eclipse Public License 1.0 |
J5SE | JUnit5 extensions to test Java System.x functions | Eclipse Public License 2.0 |
Mockito | Mocking framework | MIT License |
SnakeYaml | YAML parsing | Apache License 2.0 |