use of org.apache.zeppelin.client.ZSession in project zeppelin by apache.
the class PrestoExample 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("presto").setIntpProperties(intpProperties).build();
session.start(new SimpleMessageHandler());
// single sql
ExecuteResult result = session.execute("show schemas");
System.out.println("show schemas result : " + result.getResults().get(0).getData());
// multiple sql
result = session.execute("use tpch_text_5;\nshow tables");
System.out.println("show tables result: " + result.getResults().get(0).getData());
// select
result = session.execute("select count(1) from lineitem");
System.out.println("Result status: " + result.getStatus() + ", data: " + result.getResults().get(0).getData());
// invalid sql
result = session.execute("select * from unknown_table");
System.out.println("Result status: " + result.getStatus() + ", data: " + result.getResults().get(0).getData());
} catch (Exception e) {
e.printStackTrace();
} finally {
if (session != null) {
try {
session.stop();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
use of org.apache.zeppelin.client.ZSession in project zeppelin by apache.
the class SparkExample 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<>();
intpProperties.put("spark.master", "local[*]");
session = ZSession.builder().setClientConfig(clientConfig).setInterpreter("spark").setIntpProperties(intpProperties).build();
session.start();
System.out.println("Spark Web UI: " + session.getWeburl());
// scala (single result)
ExecuteResult result = session.execute("println(sc.version)");
System.out.println("Spark Version: " + result.getResults().get(0).getData());
// scala (multiple result)
result = session.execute("println(sc.version)\n" + "val df = spark.createDataFrame(Seq((1,\"a\"), (2,\"b\")))\n" + "z.show(df)");
// The first result is text output
System.out.println("Result 1: type: " + result.getResults().get(0).getType() + ", data: " + result.getResults().get(0).getData());
// The second result is table output
System.out.println("Result 2: type: " + result.getResults().get(1).getType() + ", data: " + result.getResults().get(1).getData());
System.out.println("Spark Job Urls:\n" + StringUtils.join(result.getJobUrls(), "\n"));
// error output
result = session.execute("1/0");
System.out.println("Result status: " + result.getStatus() + ", data: " + result.getResults().get(0).getData());
// pyspark
result = session.execute("pyspark", "df = spark.createDataFrame([(1,'a'),(2,'b')])\n" + "df.registerTempTable('df')\n" + "df.show()");
System.out.println("PySpark dataframe: " + result.getResults().get(0).getData());
// matplotlib
result = session.execute("ipyspark", "%matplotlib inline\n" + "import matplotlib.pyplot as plt\n" + "plt.plot([1,2,3,4])\n" + "plt.ylabel('some numbers')\n" + "plt.show()");
System.out.println("Matplotlib result, type: " + result.getResults().get(0).getType() + ", data: " + result.getResults().get(0).getData());
// sparkr
result = session.execute("r", "df <- as.DataFrame(faithful)\nhead(df)");
System.out.println("Sparkr dataframe: " + result.getResults().get(0).getData());
// spark sql
result = session.execute("sql", "select * from df");
System.out.println("Spark Sql dataframe: " + result.getResults().get(0).getData());
// spark invalid sql
result = session.execute("sql", "select * from unknown_table");
System.out.println("Result status: " + result.getStatus() + ", data: " + result.getResults().get(0).getData());
} catch (Exception e) {
e.printStackTrace();
} finally {
if (session != null) {
try {
session.stop();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
use of org.apache.zeppelin.client.ZSession in project zeppelin by apache.
the class ZSessionIntegrationTest method testZSession_Shell.
@Test
public void testZSession_Shell() throws Exception {
ZSession session = ZSession.builder().setClientConfig(clientConfig).setInterpreter("sh").build();
try {
session.start();
assertNull(session.getWeburl());
assertNotNull(session.getNoteId());
notebook.processNote(session.getNoteId(), note -> {
assertEquals(2, note.getParagraphCount());
assertTrue(note.getParagraph(0).getText(), note.getParagraph(0).getText().startsWith("%sh.conf"));
return null;
});
ExecuteResult result = session.execute("pwd");
assertEquals(result.toString(), Status.FINISHED, result.getStatus());
assertEquals(1, result.getResults().size());
assertEquals("TEXT", result.getResults().get(0).getType());
result = session.execute("invalid_command");
assertEquals(Status.ERROR, result.getStatus());
assertEquals(2, result.getResults().size());
assertEquals("TEXT", result.getResults().get(0).getType());
assertTrue(result.getResults().get(0).getData(), result.getResults().get(0).getData().contains("command not found"));
assertEquals("TEXT", result.getResults().get(1).getType());
assertTrue(result.getResults().get(1).getData(), result.getResults().get(1).getData().contains("ExitValue"));
notebook.processNote(session.getNoteId(), note -> {
assertEquals(4, note.getParagraphCount());
assertEquals("%sh invalid_command", note.getParagraph(3).getText());
return null;
});
} finally {
session.stop();
}
}
use of org.apache.zeppelin.client.ZSession in project zeppelin by apache.
the class ZSessionIntegrationTest method testZSession_Spark_Submit.
@Test
public void testZSession_Spark_Submit() 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.submit("sc.version");
result = session.waitUntilFinished(result.getStatementId());
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.submit("pyspark", "df = spark.createDataFrame([(1,'a'),(2,'b')])\ndf.registerTempTable('df')\ndf.show()");
result = session.waitUntilFinished(result.getStatementId());
assertEquals(result.toString(), 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.submit("r", "df <- as.DataFrame(faithful)\nhead(df)");
result = session.waitUntilFinished(result.getStatementId());
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.submit("sql", "select * from df");
result = session.waitUntilFinished(result.getStatementId());
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.submit("sql", "select * from unknown_table");
result = session.waitUntilFinished(result.getStatementId());
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());
// cancel
result = session.submit("sc.range(1,100).map(e=>{Thread.sleep(1000);e}).collect()");
assertFalse("Status is: " + result.getStatus().toString(), result.getStatus().isCompleted());
result = session.waitUntilRunning(result.getStatementId());
session.cancel(result.getStatementId());
assertEquals(result.toString(), Status.RUNNING, result.getStatus());
result = session.waitUntilFinished(result.getStatementId());
assertEquals(result.toString(), Status.ABORT, result.getStatus());
} finally {
session.stop();
}
}
use of org.apache.zeppelin.client.ZSession in project zeppelin by apache.
the class ZSessionIntegrationTest method testZSession_Jdbc_Submit.
// @Test
public void testZSession_Jdbc_Submit() 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.submit("show databases");
result = session.waitUntilFinished(result.getStatementId());
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.submit("SELECT 1 as c1, 2 as c2");
result = session.waitUntilFinished(result.getStatementId());
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();
}
}
Aggregations