问题标签 [py4j]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 使用 Py4J 保存 java 对象的新值
我只是好奇 Py4j 中是否有任何函数可以在 Java 对象中保存新值。我的意思是,使用get_field
函数我可以很容易地获取 java 对象的值,并且set_field
我可以更改该值,但我想,只能在 Python 中。我看不到 Java 应用程序的任何变化。
例子:
python-2.7 - py4j.protocol.Py4JNetworkError:尝试连接到 Java 服务器时出错
我试图理解这个使用 Py4j 的代码。然而,每次我运行代码时,我都会遇到同样的错误。我的 Ubuntu 14.04 中安装了 py4j。jar 文件位于 usr/share/py4j 中。
代码是
我得到的错误是
文件“/home/shiju/Downloads/Abstractive Summarizer/SumMe-master/Summarizer/preprocessor.py”,第 29 行,在detector.init(LangPaths)
__call_ answer = self.gateway_client.send_command(command) 中的文件“/usr/local/lib/python2.7/dist-packages/py4j/java_gateway.py”,第 811 行
文件“/usr/local/lib/python2.7/dist-packages/py4j/java_gateway.py”,第 624 行,在 send_command connection = self._get_connection()
文件“/usr/local/lib/python2.7/dist-packages/py4j/java_gateway.py”,第 579 行,在 _get_connection 连接 = self._create_connection() 文件“/usr/local/lib/python2.7/dist -packages/py4j/java_gateway.py”,第 585 行,在 _create_connection connection.start() 中
文件“/usr/local/lib/python2.7/dist-packages/py4j/java_gateway.py”,第 697 行,开始引发 Py4JNetworkError(msg, e) py4j.protocol.Py4JNetworkError:尝试连接时出错Java 服务器
我认为 Python 无法与 Java 应用程序连接
java - 在 PySpark 中运行自定义 Java 类
我正在尝试在 PySpark 中运行自定义 HDFS 阅读器类。这个类是用 Java 编写的,我需要从 PySpark 访问它,无论是从 shell 还是使用 spark-submit。
在 PySpark 中,我从 SparkContext ( sc._gateway
) 中检索 JavaGateway。
假设我有一堂课:
我试图将它打包到一个 jar 中并通过--jar
选项传递给 pyspark 然后运行:
但我得到了错误:
有人可以帮忙吗?谢谢。
java - 如何从 python 程序运行 java 程序(.java 代码文件)?
我基本上想编写一个python代码,从那里我将输入字符串发送到java程序,我希望java程序执行它并将结果返回给python文件。可能吗?
java - 在服务器中运行应用程序时的 Py4j 异常
我使用 py4j 创建了一个应用程序,它可以使用 java 应用程序将 python 中的数据保存到 SQL 数据库中,当我将 JVM 作为应用程序运行时,一切正常,它实际上保存了数据。但是当我在服务器上运行代码时,它给了我一个异常。Therfore 我想也许我的服务器(Wildfly)和 Py4j 使用相同的端口,所以我按照教程的建议更改了默认的 py4j 端口,这就是 python 方面的方式修改后的样子:
但我仍然有一个例外:
任何建议将不胜感激。
python-2.7 - 火花流。Py4j 的问题:获取新的通信通道时出错
我目前在 Spark 1.3 和 Python 2.7 上具有 50 个节点的集群上运行实时 Spark Streaming 作业。Spark 流上下文从 HDFS 中的目录读取,批处理间隔为 180 秒。以下是 Spark 作业的配置:
spark-submit --master yarn-client --executor-cores 5 --num-executors 10 --driver-memory 10g --conf spark.yarn.executor.memoryOverhead=2048 --conf spark.yarn.driver.memoryOverhead= 2048 --conf spark.network.timeout=300 --executor-memory 10g
这项工作在大多数情况下运行良好。但是,它在大约 15 小时后抛出 Py4j 异常,理由是它无法获得通信通道。
我尝试减小 Batch Interval 大小,但随后会产生处理时间大于 Batch Interval 的问题。
下面是错误的截图
我做了一些研究,发现这可能是来自此处SPARK-12617的 Socket 描述符泄漏的问题
但是,我无法解决该错误并解决它。有没有办法手动关闭可能阻止提供端口的打开连接。或者我是否必须对代码进行任何特定更改才能解决此问题。
TIA
java - 需要 Py4j 事件监听器
当音量约为每小时 200k 条消息并且 jython 不是一个选项时,我发现 stomp.py 落后了,因此使用 java 消息侦听器我希望有一个 python 脚本“订阅”消息/事件从此 java 应用程序生成。我有基本的网关工作并且可以调用“getMessage()”,如下所示:
...
java方法在哪里:
我真正需要的是“订阅”getMsg() 方法并将这些消息作为事件“推送”。上述的低租金替代方案是:
我看到一些 callback_server 详细信息,其中需要 java 端的接口 - 我在 java 端设置了它,并且我可以在 python 端尽可能多地遵循,但显然我错过了好东西&它没有做太多:
****爪哇***
****Python***
提前致谢!
java - py4j.protocol.Py4JNetworkError : 尝试连接到 Java 服务器时出错
我有以下来自 py4j 文档的简单示例:
我试图运行它,但得到以下错误:
为了连接到 Java 服务器,我应该做些什么?谢谢!
java - pyspark:从 pyspark 调用自定义 java 函数。我需要 Java_Gateway 吗?
我编写了以下 MyPythonGateway.java 以便可以从 Python 调用我的自定义 java 类:
这是我在 Python 代码中使用它的方式:
现在我想使用MyPythonGateway.findMyNum()
PySpark 中的函数,而不仅仅是一个独立的 python 脚本。我做了以下事情:
但是,我收到以下错误:
那么我在这里错过了什么?我不知道在使用 pyspark 时是否应该运行 MyPythonGateway 的单独 JavaApplication 来启动网关服务器。请指教。谢谢!
下面正是我需要的:
解决这个问题的最佳方法是什么?谢谢!