gpt4 book ai didi

apache-spark - 它在 spark 中的 py4j gatewayServer 的入口点是什么?

转载 作者:行者123 更新时间:2023-12-05 02:21:14 26 4
gpt4 key购买 nike

我试图使用 py4j 在 pyspark 中运行一个 java 函数。 Py4j 支持访问 JVM 中的 java 对象。我创建了另一个 JVM 实例并且能够成功运行 java 函数。

py4j 通过 GatewayServer 实例启用此通信。

我想知道我们是否可以通过某种方式访问​​ spark 的内部 JVM 来运行我的 java 函数? spark 中 py4j Gatewayserver 的入口点是什么?如何将我的函数添加到入口点?

最佳答案

我不确定这是否是您需要的,但我看到了两个地方:

sc._gateway.jvm

可用于java_import或直接

sc._jvm

因此,要访问包 a.b.c 中的类 X,您可以执行以下操作之一:

jvm = sc._gateway.jvm
java_import(jvm,"a.b.c.X")
instance = a.b.c.X()

或更直接:

instance = sc._jvm.a.b.c.X()

要添加一个 java 函数,您需要确保它在类路径中,如果您想在 worker 中使用它(例如在 UDF 中),那么您需要将它发送给 worker。为实现这一点,您可以使用 --driver-class-path 开关将 spark-submit(或 pyspark)添加到驱动程序和 --jars 以发送给工作人员。

关于apache-spark - 它在 spark 中的 py4j gatewayServer 的入口点是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35774347/

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