...
ZEPPELIN-753: added abstraction for tabledata TableData
ZEPPELIN-2020: implemented remote method invocation
...
A newly created table result can be registered as a resource Resource in an interpreter.
Since every resource registered in a resource pool in an interpreter can be searched via `DisbitrubedResourcePool` DisbitrubedResourcePool and supports remote method invocation, other interpreters can use it.
Let’s say JDBCInterpreter created a table result and keep it (JDBCTableData) into its resource pool.
Then, SparkInterpreter can fetch rows, columns via remote method invocation. if Zeppelin registers the distributed resource pool as Spark Data Source, SparkInterpreter can use all table resources in Zeppelin smoothly. (e.g Querying the table in SparkSQL as like a normal table)
...
SparkInterpreter can have SparkTableData which
points RDD to get the table result
filter and pivot can be written by using Spark RDD APIs
JDBCInterpreter can have JDBCTableData which
keeps query to reproduce the table result
filter and pivot can be written using a query that has additional `where` and `group by` statements where and group by statements.
Some interpreters (e.g ShellInterpreter) might not be connected with external storage. In this case, those interpreters can use the InterpreterResultTableData class.
...
Spark supports pluggable data sources. We can use make Zeppelin’s `DistributedResourcePool` DistributedResourcePool a spark data source using Spark DataSource API. Please refer these articles for more information.
...
ZEPPELIN-TBD: Adding pivot, filter methods to TableData
ZEPPELIN-TBD: ResourceRegistry
ZEPPELIN-TBD: Rest API for resource pool
ZEPPELIN-TBD: UI for `Table` Table page
ZEPPELIN-TBD: Apply pivot, filter methods for built-in visualizations
ZEPPELIN-TBD: SparkTableData, SparkSQLTableData, JDBCTableData, etc.
ZEPPELIN-2029: ACL for ResourcePool
- ZEPPELIN-2022: Zeppelin resource pool as Spark DataSource
...