Search in sources :

Example 11 with ExecuteResult

use of org.apache.zeppelin.client.ExecuteResult in project zeppelin by apache.

the class ZSessionIntegrationTest method testZSession_Jdbc.

// @Test
public void testZSession_Jdbc() throws Exception {
    Map<String, String> intpProperties = new HashMap<>();
    intpProperties.put("default.driver", "com.mysql.jdbc.Driver");
    intpProperties.put("default.url", "jdbc:mysql://localhost:3306/");
    intpProperties.put("default.user", "root");
    ZSession session = ZSession.builder().setClientConfig(clientConfig).setInterpreter("jdbc").setIntpProperties(intpProperties).build();
    try {
        session.start();
        assertEquals("", session.getWeburl());
        assertNotNull(session.getNoteId());
        // show databases
        ExecuteResult result = session.execute("show databases");
        assertEquals(result.toString(), Status.FINISHED, result.getStatus());
        assertEquals(1, result.getResults().size());
        assertEquals("TABLE", result.getResults().get(0).getType());
        assertTrue(result.getResults().get(0).getData(), result.getResults().get(0).getData().contains("Database"));
        // select statement
        result = session.execute("SELECT 1 as c1, 2 as c2");
        assertEquals(result.toString(), Status.FINISHED, result.getStatus());
        assertEquals(1, result.getResults().size());
        assertEquals("TABLE", result.getResults().get(0).getType());
        assertEquals("c1\tc2\n1\t2\n", result.getResults().get(0).getData());
    } finally {
        session.stop();
    }
}
Also used : HashMap(java.util.HashMap) ExecuteResult(org.apache.zeppelin.client.ExecuteResult) ZSession(org.apache.zeppelin.client.ZSession)

Example 12 with ExecuteResult

use of org.apache.zeppelin.client.ExecuteResult in project zeppelin by apache.

the class ZSessionIntegrationTest method testZSession_Python.

@Test
public void testZSession_Python() throws Exception {
    Map<String, String> intpProperties = new HashMap<>();
    intpProperties.put("zeppelin.python.gatewayserver_address", "127.0.0.1");
    ZSession session = ZSession.builder().setClientConfig(clientConfig).setInterpreter("python").setIntpProperties(intpProperties).build();
    try {
        session.start(new SimpleMessageHandler());
        assertNull(session.getWeburl());
        assertNotNull(session.getNoteId());
        // python
        // ExecuteResult result = session.execute("1+1");
        // assertEquals(result.toString(), Status.FINISHED, result.getStatus());
        // assertEquals(1, result.getResults().size());
        // assertEquals("TEXT", result.getResults().get(0).getType());
        // assertTrue(result.getResults().get(0).getData(), result.getResults().get(0).getData().contains("2"));
        // 
        // // python
        // result = session.execute("1/0");
        // assertEquals(result.toString(), Status.ERROR, result.getStatus());
        // assertEquals(1, result.getResults().size());
        // assertEquals("TEXT", result.getResults().get(0).getType());
        // assertTrue(result.getResults().get(0).getData(), result.getResults().get(0).getData().contains("ZeroDivisionError"));
        // for loop
        ExecuteResult result = session.execute("import time\n" + "for i in range(1,10):\n" + "\tprint(i)\n" + "\ttime.sleep(1)");
        assertEquals(result.toString(), Status.FINISHED, result.getStatus());
        assertEquals(1, result.getResults().size());
        assertEquals("TEXT", result.getResults().get(0).getType());
        Map<String, String> localProperties = new HashMap<>();
        // contains whitespace
        localProperties.put("key 1", "hello world");
        // contains comma
        localProperties.put("key,2", "a,b");
        result = session.execute("1+1", localProperties);
        assertEquals(result.toString(), Status.FINISHED, result.getStatus());
        assertEquals(1, result.getResults().size());
        assertEquals("TEXT", result.getResults().get(0).getType());
    } finally {
        session.stop();
    }
}
Also used : HashMap(java.util.HashMap) ExecuteResult(org.apache.zeppelin.client.ExecuteResult) ZSession(org.apache.zeppelin.client.ZSession) SimpleMessageHandler(org.apache.zeppelin.client.websocket.SimpleMessageHandler) Test(org.junit.Test)

Example 13 with ExecuteResult

use of org.apache.zeppelin.client.ExecuteResult in project zeppelin by apache.

the class ZSessionIntegrationTest method testZSession_Flink.

@Test
public void testZSession_Flink() throws Exception {
    Map<String, String> intpProperties = new HashMap<>();
    intpProperties.put("FLINK_HOME", flinkHome);
    ZSession session = ZSession.builder().setClientConfig(clientConfig).setInterpreter("flink").setIntpProperties(intpProperties).build();
    try {
        session.start();
        assertNotNull(session.getWeburl());
        assertNotNull(session.getNoteId());
        // scala
        ExecuteResult result = session.execute("val data = benv.fromElements(1, 2, 3)\ndata.collect()");
        assertEquals(result.toString(), Status.FINISHED, result.getStatus());
        assertEquals(1, result.getResults().size());
        assertEquals("TEXT", result.getResults().get(0).getType());
        assertTrue(result.getResults().get(0).getData(), result.getResults().get(0).getData().contains("1, 2, 3"));
        // sql
        result = session.execute(getInitStreamScript(200));
        assertEquals(result.toString(), Status.FINISHED, result.getStatus());
        Map<String, String> localProperties = new HashMap<>();
        localProperties.put("type", "update");
        localProperties.put("parallelism", "2");
        result = session.execute("ssql", localProperties, "select url, count(1) as pv from log group by url");
        assertEquals(result.toString(), Status.FINISHED, result.getStatus());
    } finally {
        session.stop();
    }
}
Also used : HashMap(java.util.HashMap) ExecuteResult(org.apache.zeppelin.client.ExecuteResult) ZSession(org.apache.zeppelin.client.ZSession) Test(org.junit.Test)

Example 14 with ExecuteResult

use of org.apache.zeppelin.client.ExecuteResult in project zeppelin by apache.

the class ZSessionIntegrationTest method testZSession_Spark.

@Test
public void testZSession_Spark() throws Exception {
    Map<String, String> intpProperties = new HashMap<>();
    intpProperties.put("SPARK_HOME", sparkHome);
    intpProperties.put("spark.master", "local[*]");
    ZSession session = ZSession.builder().setClientConfig(clientConfig).setInterpreter("spark").setIntpProperties(intpProperties).build();
    try {
        session.start();
        assertNotNull(session.getWeburl());
        assertNotNull(session.getNoteId());
        // scala
        ExecuteResult result = session.execute("sc.version");
        assertEquals(result.toString(), Status.FINISHED, result.getStatus());
        assertEquals(1, result.getResults().size());
        assertEquals("TEXT", result.getResults().get(0).getType());
        assertTrue(result.getResults().get(0).getData(), result.getResults().get(0).getData().contains("2.4.4"));
        assertEquals(0, result.getJobUrls().size());
        // pyspark
        result = session.execute("pyspark", "df = spark.createDataFrame([(1,'a'),(2,'b')])\ndf.registerTempTable('df')\ndf.show()");
        assertEquals(Status.FINISHED, result.getStatus());
        assertEquals(1, result.getResults().size());
        assertEquals("TEXT", result.getResults().get(0).getType());
        assertEquals("+---+---+\n" + "| _1| _2|\n" + "+---+---+\n" + "|  1|  a|\n" + "|  2|  b|\n" + "+---+---+", result.getResults().get(0).getData().trim());
        assertTrue(result.getJobUrls().size() > 0);
        // sparkr
        result = session.execute("r", "df <- as.DataFrame(faithful)\nhead(df)");
        assertEquals(Status.FINISHED, result.getStatus());
        assertEquals(1, result.getResults().size());
        assertEquals("TEXT", result.getResults().get(0).getType());
        assertTrue(result.getResults().get(0).getData(), result.getResults().get(0).getData().contains("eruptions waiting"));
        assertEquals(2, result.getJobUrls().size());
        // spark sql
        result = session.execute("sql", "select * from df");
        assertEquals(Status.FINISHED, result.getStatus());
        assertEquals(1, result.getResults().size());
        assertEquals("TABLE", result.getResults().get(0).getType());
        assertTrue(result.getResults().get(0).getData(), result.getResults().get(0).getData().contains("1\ta\n2\tb\n"));
        assertTrue(result.getJobUrls().size() > 0);
        // spark invalid sql
        result = session.execute("sql", "select * from unknown_table");
        assertEquals(Status.ERROR, result.getStatus());
        assertEquals(1, result.getResults().size());
        assertEquals("TEXT", result.getResults().get(0).getType());
        assertTrue(result.getResults().get(0).getData(), result.getResults().get(0).getData().contains("Table or view not found"));
        assertEquals(0, result.getJobUrls().size());
    } finally {
        session.stop();
    }
}
Also used : HashMap(java.util.HashMap) ExecuteResult(org.apache.zeppelin.client.ExecuteResult) ZSession(org.apache.zeppelin.client.ZSession) Test(org.junit.Test)

Example 15 with ExecuteResult

use of org.apache.zeppelin.client.ExecuteResult in project zeppelin by apache.

the class RExample method main.

public static void main(String[] args) {
    ZSession session = null;
    try {
        ClientConfig clientConfig = new ClientConfig("http://localhost:8080");
        Map<String, String> intpProperties = new HashMap<>();
        session = ZSession.builder().setClientConfig(clientConfig).setInterpreter("r").setIntpProperties(intpProperties).build();
        session.start(new SimpleMessageHandler());
        // single statement
        ExecuteResult result = session.execute("bare <- c(1, 2.5, 4)\n" + "print(bare)");
        System.out.println(result.getResults().get(0).getData());
        // error output
        result = session.execute("1/0");
        System.out.println("Result status: " + result.getStatus() + ", data: " + result.getResults().get(0).getData());
        // R plotting
        result = session.execute("ir", "pairs(iris)");
        System.out.println("R plotting result, type: " + result.getResults().get(0).getType() + ", data: " + result.getResults().get(0).getData());
        // ggplot2
        result = session.execute("ir", "library(ggplot2)\n" + "ggplot(mpg, aes(displ, hwy, colour = class)) + \n" + "  geom_point()");
        System.out.println("ggplot2 plotting result, type: " + result.getResults().get(0).getType() + ", data: " + result.getResults().get(0).getData());
        // googlevis
        result = session.execute("ir", "library(googleVis)\n" + "df=data.frame(country=c(\"US\", \"GB\", \"BR\"), \n" + "              val1=c(10,13,14), \n" + "              val2=c(23,12,32))\n" + "Bar <- gvisBarChart(df)\n" + "print(Bar, tag = 'chart')");
        System.out.println("googlevis plotting result, type: " + result.getResults().get(0).getType() + ", data: " + result.getResults().get(0).getData());
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        if (session != null) {
            try {
                session.stop();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
}
Also used : HashMap(java.util.HashMap) ClientConfig(org.apache.zeppelin.client.ClientConfig) ExecuteResult(org.apache.zeppelin.client.ExecuteResult) ZSession(org.apache.zeppelin.client.ZSession) SimpleMessageHandler(org.apache.zeppelin.client.websocket.SimpleMessageHandler)

Aggregations

ExecuteResult (org.apache.zeppelin.client.ExecuteResult)18 ZSession (org.apache.zeppelin.client.ZSession)18 HashMap (java.util.HashMap)16 ClientConfig (org.apache.zeppelin.client.ClientConfig)9 SimpleMessageHandler (org.apache.zeppelin.client.websocket.SimpleMessageHandler)8 Test (org.junit.Test)7 CompositeMessageHandler (org.apache.zeppelin.client.websocket.CompositeMessageHandler)1