Apache Kylin : Analytical Data Warehouse for Big Data
Page History
...
PlantUML Render Macro | ||||
---|---|---|---|---|
| ||||
'============================================================ '============================================================ ' Schema/Connection Related class QueryConnection { Connection getConnection(String project); } class OLAPSchemaFactory <<SchemaFactory>> { Schema create(SchemaPlus parentSchema, String schemaName, Map<String, Object> operand); } class OLAPSchema <<AbstractSchema>> { Map<String, Table> getTableMap(); // OLAPTable } class OLAPTable <<AbstractQueryableTable, TranslatableTable>>{ RelNode toRel(ToRelContext context, RelOptTable relOptTable) // return OLAPTableScan <T> Queryable<T> asQueryable(QueryProvider queryProvider, SchemaPlus schema, String tableName); // OLAPQuery // OLAPEnumerator } class OLAPQuery << AbstractEnumerable<Object[]>, Enumerable<Object[]> >> { Enumerator<Object[]> enumerator() ; // return OLAPEnumerator } QueryConnection -- OLAPSchemaFactory : "Register factory method to prepare all schema" > OLAPSchemaFactory -- OLAPSchema OLAPSchema -- OLAPTable OLAPTable -- OLAPQuery : "asQueryable" > OLAPTable -- OLAPTableScan : "toRel" > OLAPQuery -- OLAPEnumerator : "enumerator" > '============================================================ '============================================================ ' Storage Related Code interface IStorageQuery { ITupleIterator search(StorageContext context, SQLDigest sqlDigest, TupleInfo returnTupleInfo); } interface ITupleIterator << Iterator<ITuple> >> { } abstract class GTCubeStorageQueryBase implements IStorageQuery { } '============================================================ '============================================================ ' Calcite Related Code class OLAPEnumerator << Enumerator<Object[]> >> { } |
...