问题标签 [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 - corenlp 情绪 Java 程序通过 Python 中的 Py4j,引发错误
我制作了一个 Java 情感分析程序,通过 Py4j 在 Python 中使用。我可以在 Python 中创建 Java 对象,但尝试访问该方法,它会给出 java.lang.NullPointerException。你能帮忙吗?谢谢。
Java 代码:它编译正确,运行没有错误。
蟒蛇代码:
空指针异常
java - 通过 Py4j 从 python 的 scala 项目中使用 jar
我从我的 Scala 项目中构建了一个 jar。
对于我想从这个 jar 使用的内容,我有以下结构
第一个问题:也许我误解了 Py4J 提供的东西,但是如果我想使用自己的类,是否必须编写一个 java/scala 类来启动 Py4J 网关?还是将其添加到网关的 jvm 类路径就足够了?
第二个问题(根据上面的答案,我猜这并不适用):如何在启动 java 网关时添加我的 jar 以使其可用?为了暂时解决这个问题,我只是用我的 jar 和 Py4J jar 手动启动了 jvm 和这个命令
然后从 Python 代码手动连接到它。然后我尝试通过导入我的课程
它没有抛出任何错误,但我不确定它是否有效,因为如果我输入一些虚假的类路径,它不会抛出任何错误。
第三个问题(如果第一个问题的答案是我必须编写入口点来访问我的类):使用 scala 时这是如何工作的?
scala - 通过 py4j 来自 jvm 的 Python 字节数组
我正在使用 py4j 将字节数组 (Array[Byte]) 从 Scala 发送到 python。在 python 方面,我希望创建一个 numpy 数组(最好是不可变的),它只是这些字节的视图,但被解释为 np.complex128。不考虑字节顺序,字节顺序如下:real1, imag1, real2, imag2, ...
.
根据python 3.5 和 py4j 0.10.3 的py4j 文档,似乎我应该在 python 端获得一个字节对象,但我实际上得到了一个 JavaArray,据我所知,它有一个对数组的引用jvm 方面,我认为这使得这很慢。我猜这是由于Scala的字节到字节(类)的“自动装箱”,但我不确定。
Py4j 问题:是否可以强制 py4j 返回字节的副本?
Scala 问题:也许我的猜测是错误的,在这种情况下它实际上编译为原始字节数组?如果没有,除了用Java编写那部分之外,是否有可能确保它无论如何都可以做到。
java - 使用 Py4j 从 Python 将可变参数传递给 Java
我正在尝试将可变参数从 python 传递给 Java 代码。
Java 代码:LogDebugCmd.java
命令入口点.java
Python代码test.py:
错误 :
有没有办法将 varargs 传递给 Java ?我试图将 String 作为第二个参数传递给 getLogDebugCmd() ,这也会出错。
python - IPython-Py4JJavaError:
我得到一个 Py4JJavaError: 当我尝试从 pyspark 中的 rdd 创建一个数据框时。问题是 .createDataFrame() 在一个 ipython 笔记本中有效,而在另一个笔记本中无效。奇怪的。我一直在试图找出是否有 synatx 错误,我不能很好。这是我的代码:
python - 将用户名添加到 Spark 的 log4j
我有一个使用 Spark 的 python 脚本,所以我决定也使用 Spark 自己的 log4j 来为我的脚本进行日志记录。但是,我想将当前操作系统用户名添加到日志记录模式,甚至可能添加其他参数。
有一些解决方案我应该扩展 log4j 类等,但由于我使用的是 python,除此之外,甚至不是我自己的 log4j,而是 Spark,有没有一种简单的方法来添加这些变量?
如果不是更简单,也许我可以在开始时从脚本内部添加一些变量,然后将变量插入到 log4j 模式中?我可以通过类似或类似的级别调用消息记录器logger.info
,但我不知道通过 python 的 py4j 网关可以访问哪些其他功能,而且我找不到任何好的文档。
python - findspark.init() IndexError: 列表索引超出范围错误
在 Python 3.5 Jupyter 环境中运行以下命令时,出现以下错误。关于是什么原因的任何想法?
错误:
java - py4j:如何从 Python 启动 java 网关
通过打开我的 Java 程序,然后使用以下 Python 代码,我可以在 Python 中与我的示例 Java 程序进行交互:
然而,这有一个缺点,即我必须在使用此代码之前以某种方式打开 Java 程序。
我发现有一个名为 launch_gateway 的方法似乎非常方便实现这一目标。
但是,如果以这种方式启动,我将无法连接到我的 Java 程序。
我尝试使用以下代码:
但我收到以下错误:
我想我在尝试连接到网关的方式上做错了。
有什么建议吗?
谢谢
python - apache-spark - 在 Windows 上启动 pyspark 时出错
我正在尝试使用 python 在 windows 上尝试 MLlib。所以看来我需要 SPARK,而 SPARK 又需要 HADOOP。我已经安装了包含 python 2.7、numpy 等的 Anaconda2。
我一直在遵循这个食谱,在我看来,它主要是让我去我需要去的地方,但我认为我陷入了最后一个错误:
从这个输出中可以清楚地看到没有关于 winutils.exe 未找到的错误。
此外,异常源自 py4j 的 java 域,但由于 IllegalArgumentException,我们丢失了回溯。
所有指导表示赞赏!
干杯