You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zeppelin.apache.org by "Dmitry (Jira)" <ji...@apache.org> on 2019/09/06 12:18:00 UTC
[jira] [Created] (ZEPPELIN-4323) Kotlin support for Spark
interpreter
Dmitry created ZEPPELIN-4323:
--------------------------------
Summary: Kotlin support for Spark interpreter
Key: ZEPPELIN-4323
URL: https://issues.apache.org/jira/browse/ZEPPELIN-4323
Project: Zeppelin
Issue Type: New Feature
Components: Interpreters, spark
Affects Versions: 0.9.0
Reporter: Dmitry
Attachments: Screenshot 2019-09-06 at 14.58.00.png
This issue aims to add Kotlin language support in Apache Zeppelin, adding a standalone interpreter as well as an interpreter for Spark group.
Summary:
* Features:
** Kotlin 1.3.50 support in standalone %kotlin interpreter
** Kotlin with Spark 2.4.x support in Spark interpreter, available under %spark.kotlin (Kotlin uses Java Spark API)
** ZeppelinContext support in Spark interpreter that allows visualisations, object sharing, etc.
** A bound KotlinContext that provides access to bound and user-defined variables and functions. Example:
{code:java}
val x = listOf(1, 2, 3);{code}
{code:java}
kc.showVars(){code}
will print
{code:java}
kc: KotlinContext! = org.apache.zeppelin.kotlin.repl.KotlinRepl$KotlinContext@2ae76226
x: List<Int> = [1, 2, 3]{code}
* Implementation details:
** Kotlin interpreter uses Kotlin REPL tools to interpret code.
** Variable and function binding is done via implicit receiver object passed to REPL, so user code is executed inside Kotlin's _with_ block, making receiver's fields and methods visible in the scope.
** REPL generated classes can be written to spark.repl.classes.outputDir, making them available in Spark jobs.
* Licensing
** All Kotlin libraries have Apache 2.0 license.
* Documentation
** Kotlin documentation is added to ./docs/interpreter, and Spark documentation is updated
* Testing
** Kotlin interpreter has unit tests in its module, and Kotlin Spark interpreter tests are added.
--
This message was sent by Atlassian Jira
(v8.3.2#803003)