问题标签 [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.

0 投票
1 回答
161 浏览

python - 在 SystemML (Java) 中将公式转换为 DML

你将如何转换这个公式。

公式 = sum(U' (W . (US)))

来自蟒蛇

在 SystemML 中使用 DML 和以下数据

句法

任务

0 投票
0 回答
41 浏览

java - 从 Java 向命令行发送任务完成信号

我正在开发一个使用 Java 但使用 Py4J 实现的 Python 包装器的项目。为了使其正常工作,我需要首先Main.java使用正确的命令行参数运行 Java 服务器(调用它),一旦服务器初始化,我需要在其上运行我自己的 Python 脚本(调用它Script.py)。

Main.java是我想发出初始化完成信号的地方:

目前我只是使用以下 AHK 脚本Run.ahk

但这当然只有在初始化在 2 秒内完成时才有效,并且如果初始化完成得更快,它也会不必要地空闲。相反,我希望有一个在完成Script.py后立即运行的解决方案Main.initialize()

我不能做的一件事是:

或从 Java 应用程序内部对 python 脚本的类似直接调用,因为同一服务器也可能与其他脚本一起运行,甚至作为独立服务器运行。

我也没有死心塌地使用 AHK,任何可行的解决方案(AHK、Batch、Python、Java)都可以。

0 投票
0 回答
565 浏览

nlp - 如何在 Python 中运行 JAVA API

我有一个用于词干的 Java API,但我无法运行它。我正在 PYTHON 3.x 中的一个 NLP 项目中工作,我从文档中读取所有文本并将其转换为单词。我想使用这个 Java API 来阻止我的话,然后进一步处理。我正在探索如何使用不同的库将 Java API 直接运行到 Python 程序中,并且我阅读了一些关于PY4J的信息,但无法运行它。谁能指导我如何在 Python 中使用这个 API,或者如果这不可能,那么如何在 ECLIPSE 中使用它。

词干 API 说明:

描述:Word Stemmer API 是一个 Java 应用程序,它提供了一个接口来提取词的词干、前缀和后缀。

设置:将 Data 文件夹复制到您的项目目录中,并将提供的 JAR 文件添加到您的项目中。

用法:

例子:

PS:我拥有的 API 文件夹包含一个文件 UStemmer.JAR 和两个文件夹,第一个是 Data 有 Rules.txt 文件,第二个文件夹是 UStemmer 有两个文件,一个是 UStemmer.class (无法打开或读取)和另一个是 MANIFEST.MF PPS:我不能使用任何可用的词干分析器,因为它们不支持我正在使用的语言。(乌尔都语-巴基斯坦

0 投票
10 回答
38918 浏览

python-3.x - 调用 z:org.apache.spark.api.python.PythonRDD.collectAndServe 时发生 py4j.protocol.Py4JJavaError

我在我的机器(Ubuntu)上安装了 apache-spark 和 pyspark,在 Pycharm 中,我还更新了环境变量(例如 spark_home、pyspark_python)。我正在尝试做:

但是,我收到一些奇怪的警告:

我怎么解决这个问题?

0 投票
0 回答
998 浏览

python - Py4J 无法序列化 PySpark UDF

我正在尝试计算火花数据帧中每一行的随机向量的欧几里得距离。最初是一个名为 omatrix 的 pandas df,每一列是一个单词,每一行是一个句子,表示为 1 和 0 的向量,其中 1 表示该单词存在,否则为 0。

这成功输出:

现在我想我可以使用 withColumn() 来计算距离:

第二行导致堆栈跟踪:

为什么 Py4J 试图导入 numpy.linalg.linalg?或者是导致这种情况的另一个问题?

0 投票
0 回答
631 浏览

java - 将 Java 类包装到 Python 中的最佳方法

我有一个 Java 库,我必须为它构建一个 Python 包装器。

我正在使用py4j,很容易获得任何实例和任何类,以及方法。

问题是对象的类型与其类不对应。

从蟒蛇:

这对于基本用法几乎没问题,但是如果我想创建自定义构造函数怎么办?我应该子类化这个JavaObject类吗?或者最好从头开始创建我的类,并为每个方法和构造函数调用相应的 Java 方法?

对实现它的好方法有什么建议吗?我应该尝试与 py4j 不同的东西吗?谢谢!

编辑:例如,我必须包装一个具有 3 个方法的 Java 类,其中一个方法需要一个数组作为参数,所以我必须注入一些代码才能进行转换。

这行得通,但我只在必要时才这样做。如果类只是直接工作,我不会写任何东西来包装它。

0 投票
2 回答
1168 浏览

py4j - 如何在 py4j 中将 Java 列表转换为 Python 列表

我想知道是否可以将通过 Python 中的 Java 网关接收的 JavaList 转换为 python 列表,如果可以,如何。或者类似的东西是原生的 python 类型。

在 py4j 的文档中,我只能看到将 python 类型转换为 java,反之亦然。

0 投票
1 回答
199 浏览

java - 如何将复杂的 Java 对象实例传递给 Python 脚本

我有这样的Java对象:

main()方法中我调用方法increment()

现在让我们想象一下,我想将方法​​中的MyObject实例传递main()给 Python脚本increment(),该脚本将在传递的MyObject实例上调用方法。最简单的方法是什么?

0 投票
0 回答
88 浏览

apache-spark - Spark 2.3 树错误

此查询基于比此链接中的查询更进一步的步骤。在这种情况下,我再添加 1 或 2 个要处理的列,Spark 通过打印查询的物理计划抛出一个错误。

它说,Resolved attribute(s) fnlwgt_bucketed#152530 missing这是不真实的,好像我在少于 3 列的列中运行相同的代码,它就像一个魅力,所以我可以清楚地假设它不是一个错误在我的查询或代码中。

那么是内存不足错误吗?我认为,在内部,由于内存中有很多注册表,它们会由于数据溢出而被删除并被删除,这完全是我的假设。对此有何见解?你们中有人遇到过这样的问题吗?

这种情况还在继续。

0 投票
1 回答
3332 浏览

java - 在多线程java上获取新的通信通道时出现py4J错误

将 py4J 与多线程 Java 应用程序一起使用时遇到问题。

我已经用 Python 实现了一个 Java 接口

我从 Python 启动 JVM:

myMessaging是一个Java多线程应用程序。当消息到达时,某个线程会收到它并调用onNewMessage已注册的 Listeners 的方法

实际上,当消息到达时,我收到此错误

我认为这是因为有多个 Java 线程试图在同一个端口上连接到同一个 Python 实例,但是如何解决呢?我假设系统是多线程的,如Py4J 指南中所述

可能是接口实现中的错误吗?谢谢你的帮助!