- Subscribe to RSS Feed
- Mark as New
- Mark as Read
- Bookmark
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content
Created on 04-15-2016 09:09 AM - edited 08-17-2019 12:47 PM
Calcite is a highly customizable engine for parsing and planning queries on data in a wide variety of formats. It allows database-like access, and in particular a SQL interface and advanced query optimization, for datanot residing in a traditional database.
Apache Calcite is a dynamic data management framework.
It contains many of the pieces that comprise a typical database management system, but omits some key functions: storage of data, algorithms to process data, and a repository for storing metadata.
Calcite intentionally stays out of the business of storing and processing data. As we shall see, this makes it an excellent choice for mediating between applications and one or more data storage locations and data processing engines. It is also a perfect foundation for building a database: just add data. Source
Tutorial https://calcite.apache.org/docs/tutorial.html
Demo:
Read DEPT and EMPS table
Create a test table based on existing csv example. Read the tutorial link to understand the model.json and schema.
In the demo, you can see that I am running explain plan on the queries and then I used smart.json to change the plan.
Watch the demo and then read the following links
model.json https://calcite.apache.org/docs/tutorial.html#schema-discovery
Query tuning https://calcite.apache.org/docs/tutorial.html#optimizing-queries-using-planner-rules
Calcite https://calcite.apache.org/
This page describes the SQL dialect recognized by Calcite’s default SQL parser.
JDBC driver
Calcite is embedded in Drill, Hive and Kylin.