Lee moon soo created ZEPPELIN-753:
-------------------------------------

             Summary: ZeppelinTableData: Abstracts different table data set of 
underlying computing framework.
                 Key: ZEPPELIN-753
                 URL: https://issues.apache.org/jira/browse/ZEPPELIN-753
             Project: Zeppelin
          Issue Type: New Feature
            Reporter: Lee moon soo


Zeppelin interacts multiple different computing framework through Interpreter.
Each underlying computing framework has their own representation of table data. 
like DataFrame in Spark, ResultSet in Jdbc.

If Zeppelin abstracts those different of table data representation and provide 
unified API for accessing them, that would be really useful.

I'm proposing introduce an abstract class that provides api for underlying data 
access. such as

{code}
public abstract class ZeppelinData {
   public abstract Column [] getColumns();
   public abstract Row getNextRow();
   ...
}
{code}

Then each interpreter can implements this class. For example SparkSql 
interpreter can implement it for DataFrame, 

{code}
public class ZeppelinDataFrame extends ZeppelinData {
    public ZeppelinDataFrame(Dataframe sparkDataFrame) {
        ...
    }
    public Column[] getColumns() {
       ....      
    }
   ...
{code}

And after each interprete() call, interpreter can create ZeppelinDataFrame from 
it's DataFrame result, and put it into the ResourcePool.

Then any other part of Zeppelin component, for example RestAPI end point can 
access this data, with unified API.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to