This project has retired. For details please refer to its Attic page.
Lens –

Lens Code Structure

Here is some detail on how the Apache Lens modules are structured -

  • checkstyle - Has checkstyle rules imposed on the project.
  • lens-api - Lens API. Has API primarily for the clients.
  • lens-server-api - Lens API mainly for server extensions. This contains API for Service, Driver, LensEvent, QueryRewriter etc.
  • lens-cube - Cube data model and query rewriting from cube QL to HQL done here.
  • lens-storage-db - Storage definition for DBStorage and DBStorageHandler.
  • lens-query-lib - The Query lib containing some Serde or OutputFormatter implementations.
  • lens-driver-hive - Driver implementation for Hive as execution engine.
  • lens-driver-jdbc - Driver implementation for JDBC as execution engine.
  • lens-server - The server module - containing the service implementations, REST resources and HttpServer itself.
  • lens-client - Java client built on top of REST interface.
  • lens-cli - CLI built using spring shell and lens-client.
  • lens-examples - Examples containing example schema and queries.
  • lens-dist - Packaging for binary distribution of lens
  • lens-ml-lib - Wrapper over Spark ML lib where input to a model is output of a query.
  • lens-ml-dist - Packaging for ml-lib - which has server, client, spark libraries and ml-lib.
  • lens-regression - The regression test suite.