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)