问题标签 [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 回答
126 浏览

python - 使用 Py4J 从 python 打开 Eclipse 编辑器

我正在尝试从我的 python 程序在 Eclipse 编辑器中打开一个文件。

以下是如何使用 Java 执行此操作的示例:

我正在尝试使用 python 中的这个 API 和 Py4j。

这工作正常。但我已经积累了page.

我在这里没有。看起来 Rudolf Widmann 在这里发布了这个问题的答案。所以java解决方案将是:

但是我怎么能从python做到这一点?如何用 Py4j 实现它?

0 投票
1 回答
1169 浏览

java - PY4J 回调服务器错误

我正在尝试在 此处的 PY4J 网站中运行回调服务器的示例

但我收到以下异常:“py4j.protocol.Py4JNetworkError:尝试启动回调服务器时发生错误”

这是代码:

爪哇:

界面:

Python:

正如我所提到的,我得到了这个例外

py4j.protocol.Py4JNetworkError:尝试启动回调服务器时出错。

这是堆栈跟踪:

0 投票
1 回答
6809 浏览

java - ImportError:没有名为 py4j.java_gateway 的模块

我正在尝试使用py4j. 我已经在 Eclipse 中安装了插件并创建了名为 test 的 pydev 项目。我正在尝试执行我在 py4j 网页上找到的以下代码:

但是我在导入时遇到错误。我检查了 py4j jar 是否存在于 Eclipse 的插件目录中。有人可以帮忙吗?

0 投票
6 回答
65738 浏览

python - 为什么 PySpark 找不到 py4j.java_gateway?

我安装了 Spark,运行了 sbt 程序集,并且可以毫无问题地打开 bin/pyspark。但是,我在将 pyspark 模块加载到 ipython 时遇到了问题。我收到以下错误:

0 投票
1 回答
1381 浏览

java - scala 类型转换如何在 py4j 中完成?

当使用 py4j 触发 jvm 时,有没有办法像 scala/java 那样进行类型转换?

基本上,我想翻译这个:

变成这样的东西:

0 投票
0 回答
1045 浏览

python - 在错误“尝试调用包”时跟踪从 py4j 丢失的导入

给定以下 python 片段:

感兴趣的是最后一条:MyDbSQLContext 是 org.apache.spark.mydb 包中的一个类。在 pyspark.mydb.mydb.py 文件中有一个 python 包装器

为了使 py4j java 网关知道导入,执行以下语句:

但是在原始代码段的最后一行:

我们收到以下错误:

更新 我花了更多时间分析为 hive 执行导入的方式。它们是通过内部调用compute-classpath.sh的 spark-submit 脚本添加的。我已经正确地将 $MYDB_HOME/lib/* 添加到该脚本的类路径中。mydb jar 文件在类路径中可用:

此外,正在打印 java_imports - 在这里它们确实显示了 mydb 导入:

目前还不清楚这个问题的根源是什么。我们已经验证:

  • mydb 类在路径中
  • java_import 正在导入 mydb 类
  • AFAICT 导入和使用 hive 类所遵循的模式也同样适用于 mydb

    我不知道还要检查什么来跟踪这个 java 类/类路径问题。

0 投票
1 回答
2240 浏览

python - 如何从 py4j 网关查看导入的类

考虑以下 py4j 网关初始化代码:

可以在网关上调用什么代码来查看它包含的导入 - 和/或验证给定类是否可用?即类似的东西:

0 投票
9 回答
76196 浏览

python - 如何添加第三方 Java JAR 文件以在 PySpark 中使用

我有一些 Java 中的第三方数据库客户端库。我想通过

例如:使客户端类(不是 JDBC 驱动程序!)通过 Java 网关对 Python 客户端可用:

不清楚将第三方库添加到 JVM 类路径的位置。我试图添加到文件compute-classpath.sh,但这似乎不起作用。我得到:

Py4jError:试图调用一个包

此外,与 Hive 相比:hive JAR 文件不是通过文件compute-classpath.sh加载的,所以这让我很怀疑。似乎还有一些其他机制正在设置 JVM 端类路径。

0 投票
7 回答
8373 浏览

java - 导入jar文件时pyjnius“找不到类”

我试图让pyjnius使用我从 java 应用程序构建的 jar 文件,但我不断收到“找不到类”错误:

我当然检查过:

和 com/myapp/webapp/server/helpers/licensee/CalculationHelper.class 在那里

我也尝试过以这种方式设置类路径:

但这给了我同样的结果。我正在开发一个 virtualenv 顺便说一句。我已经尝试了所有可以在网上找到的方法,但它根本不起作用。我不得不手动安装 pyjnius,因为使用 pip 得到了它的旧版本。任何帮助将不胜感激。


编辑:用不是我创建的 jar 尝试了这个,我看到了一个不同的错误

这是该 jar 上 jar tf 的内容:

再次......任何帮助将不胜感激!

0 投票
1 回答
2895 浏览

apache-spark - 如何从 PySpark 中的 JavaSparkContext 获取 SparkContext?

当我运行 PySpark 时,执行

成功地给了我一些不错的输出,比如

在跑步的时候

给我一个 Java NPE 的 Py4J 错误

通过Py4J,为什么我无法访问我被授予访问权限中SparkContext包含的内容?JavaSparkContext