gpt4 book ai didi

java - Spark的scala代码如何暴露为Java API?

转载 作者:行者123 更新时间:2023-12-02 04:22:25 25 4
gpt4 key购买 nike

据我所知,Apache Spark 是用 Scala 编写的。但它的功能也作为 Java API[1] 公开,进而可以在 Java 程序中使用。

这是如何完成的?有人可以用一个例子来解释我吗?

换句话说,如果我编写一个 Scala 程序,并且想将其公开为 java API,应该采取哪些步骤?

[1] http://spark.apache.org/docs/latest/api/java/

最佳答案

这肯定取决于您公开的 api 类型,但一般来说

  • 可以按原样调用简单方法:class A { def doSomething(s: String) } A 类中的方法可以像常规 java 方法一样被调用 new A().doSomehing("hello");
  • 方法中的默认参数将不起作用。您始终必须使用整个参数列表来调用该方法。
  • 具有行为的特征无法实现,但如果您有常见的组合,您可以创建一个抽象类,然后可以在 java 中扩展它。不确定 scala2.12 中 java8 的默认方法是否可以解决这个问题
  • 对于对象函数,您需要使用转义路径进行调用。例如object Container { val answer = 42 }你从java得到常量值,如 int answer = Container$.MODULE$.answer; .

正如我首先所说,这主要取决于您想要从 scala 向 java 公开的 api。如果您有更具体的案例,我可以在此答案中对其进行编辑。

关于java - Spark的scala代码如何暴露为Java API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32610148/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com