use of org.apache.zeppelin.client.ExecuteResult in project zeppelin by apache.
the class FlinkAdvancedExample 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("flink").setIntpProperties(intpProperties).build();
// if MessageHandler is specified, then websocket is enabled.
// you can get continuous output from Zeppelin via websocket.
session.start(new SimpleMessageHandler());
System.out.println("Flink Web UI: " + session.getWeburl());
String code = "benv.fromElements(1,2,3,4,5,6,7,8,9,10).map(e=> {Thread.sleep(1000); e}).print()";
System.out.println("Submit code: " + code);
// use submit to run flink code in non-blocking way.
ExecuteResult result = session.submit(code);
System.out.println("Job status: " + result.getStatus());
while (!result.getStatus().isCompleted()) {
result = session.queryStatement(result.getStatementId());
System.out.println("Job status: " + result.getStatus() + ", progress: " + result.getProgress());
Thread.sleep(1000);
}
System.out.println("Job status: " + result.getStatus() + ", data: " + result.getResults().get(0).getData());
System.out.println("-----------------------------------------------------------------------------");
System.out.println("Submit code: " + code);
result = session.submit("benv.fromElements(1,2,3,4,5,6,7,8,9,10).map(e=> {Thread.sleep(1000); e}).print()");
System.out.println("Job status: " + result.getStatus());
result = session.waitUntilFinished(result.getStatementId());
System.out.println("Job status: " + result.getStatus() + ", data: " + result.getResults().get(0).getData());
System.out.println("-----------------------------------------------------------------------------");
code = "for(i <- 1 to 10) {\n" + " Thread.sleep(1000)\n" + " println(i)\n" + "}";
System.out.println("Submit code: " + code);
result = session.execute(code);
System.out.println("Job status: " + result.getStatus() + ", data: " + result.getResults().get(0).getData());
System.out.println("-----------------------------------------------------------------------------");
String initCode = IOUtils.toString(FlinkAdvancedExample.class.getResource("/init_stream.scala"));
result = session.execute(initCode);
System.out.println("Job status: " + result.getStatus() + ", data: " + result.getResults().get(0).getData());
// run flink ssql
Map<String, String> localProperties = new HashMap<>();
localProperties.put("type", "update");
result = session.submit("ssql", localProperties, "select url, count(1) as pv from log group by url");
session.waitUntilFinished(result.getStatementId());
result = session.submit("ssql", localProperties, "select url, count(1) as pv from log group by url");
session.waitUntilRunning(result.getStatementId());
Thread.sleep(10 * 1000);
System.out.println("Try to cancel statement: " + result.getStatementId());
session.cancel(result.getStatementId());
session.waitUntilFinished(result.getStatementId());
System.out.println("Job status: " + result.getStatus());
} catch (Exception e) {
e.printStackTrace();
} finally {
if (session != null) {
try {
session.stop();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
use of org.apache.zeppelin.client.ExecuteResult in project zeppelin by apache.
the class ZSessionIntegrationTest method testZSession_Shell_Submit.
@Test
public void testZSession_Shell_Submit() 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.submit("sleep 10\npwd");
assertFalse("Status is: " + result.getStatus().toString(), result.getStatus().isCompleted());
result = session.waitUntilFinished(result.getStatementId());
assertEquals(result.toString(), Status.FINISHED, result.getStatus());
assertEquals(1, result.getResults().size());
assertEquals("TEXT", result.getResults().get(0).getType());
result = session.submit("invalid_command");
result = session.waitUntilFinished(result.getStatementId());
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.ExecuteResult in project zeppelin by apache.
the class ZSessionIntegrationTest method testZSession_Flink_Submit.
@Test
public void testZSession_Flink_Submit() 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(new SimpleMessageHandler());
assertNotNull(session.getWeburl());
assertNotNull(session.getNoteId());
// scala
ExecuteResult result = session.submit("val data = benv.fromElements(1, 2, 3)\ndata.collect()");
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("1, 2, 3"));
// sql
result = session.submit(getInitStreamScript(200));
result = session.waitUntilFinished(result.getStatementId());
assertEquals(result.toString(), Status.FINISHED, result.getStatus());
Map<String, String> localProperties = new HashMap<>();
localProperties.put("type", "update");
result = session.submit("ssql", localProperties, "select url, count(1) as pv from log group by url");
assertFalse("Status is: " + result.getStatus().toString(), result.getStatus().isCompleted());
result = session.waitUntilFinished(result.getStatementId());
assertEquals(result.toString(), Status.FINISHED, result.getStatus());
// cancel
result = session.submit("ssql", localProperties, "select url, count(1) as pv from log group by url");
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();
}
}
Aggregations