問題タブ [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 でこれを行う方法の例を次に示します。

Py4jを使用してPythonからこのAPIを使用しようとしています。

これはうまくいきます。しかし、私は取得して積み上げましたpage

ここで None を取得しています。Rudolf Widmann がこの質問に対する回答をここに投稿したようです。したがって、Java ソリューションは次のようになります。

しかし、どうすればPythonからこれを行うことができますか? Py4jで実装するには?

0 投票する
1 に答える
6809 参照

java - ImportError: py4j.java_gateway という名前のモジュールがありません

を使用して Python から Java プログラムの呼び出しをテストしようとしていpy4jます。Eclipse にプラグインをインストールし、test という名前の pydev プロジェクトを作成しました。py4j Webページで見つけた次のコードを実行しようとしています:

しかし、インポートでエラーが発生します。py4j jar が Eclipse の plugins ディレクトリに存在することを確認しました。誰か助けてくれませんか?

0 投票する
6 に答える
65738 参照

python - PySpark が py4j.java_gateway を見つけられないのはなぜですか?

Spark をインストールし、sbt アセンブリを実行したところ、問題なく bin/pyspark を開くことができました。ただし、pyspark モジュールを ipython にロードする際に問題が発生しています。次のエラーが表示されます。

0 投票する
1 に答える
1381 参照

java - py4jでscala型キャストはどのように行われますか?

py4jを使用してjvmをトリガーするときに、scala/javaで行われるように型キャストを行う方法はありますか?

基本的に、私はこれを翻訳したいと思います:

次のようなものに:

0 投票する
0 に答える
1045 参照

python - 「パッケージを呼び出そうとしています」というエラーでpy4jから欠落しているインポートを追跡する

次の python スニペットがあるとします。

興味深いのは最後の行です。MyDbSQLContext は org.apache.spark.mydb パッケージのクラスです。pyspark.mydb.mydb.py ファイルに python ラッパーがあります

インポートを py4j Java ゲートウェイに認識させるために、次のステートメントが実行されます。

ただし、元のスニペットの最後の行では:

次のエラーが表示されます。

更新 ハイブのインポートが実行される方法を分析するのに、より多くの時間を費やしました。それらは、内部でcompute-classpath.shを呼び出す spark-submit スクリプトを介して追加されます。そのスクリプトのクラスパスに $MYDB_HOME/lib/* を既に正しく追加していました。mydb jar ファイルは、クラスパスで利用できます。

さらに、java_imports が出力されています。ここでは、mydb インポートを示しています。

現在、この問題の原因は不明です。検証済み:

  • mydb クラスはパスにあります
  • mydb クラスは java_import によってインポートされています
  • AFAICTハイブクラスのインポートと使用のために従ったパターンは、mydbでも同様に守られています

    このJavaクラス/クラスパスの問題を追跡するために他に何を調べるべきか途方に暮れています。

0 投票する
9 に答える
76196 参照

python - PySpark で使用するサードパーティの Java JAR ファイルを追加する方法

Java のサードパーティ データベース クライアント ライブラリがいくつかあります。私はそれらにアクセスしたい

例: クライアント クラス (JDBC ドライバーではありません!) を Java ゲートウェイ経由で Python クライアントが利用できるようにするには:

サードパーティのライブラリを JVM クラスパスに追加する場所が明確ではありません。ファイルcompute-classpath.shに追加しようとしましたが、うまくいかなかったようです。私は得る:

Py4jError: パッケージを呼び出そうとしています

また、Hive と比較すると、ハイブ JAR ファイルはファイルcompute-classpath.shを介してロードされないため、疑わしいと思います。JVM 側のクラスパスをセットアップするための別のメカニズムが発生しているようです。

0 投票する
7 に答える
8373 参照

java - jarファイルをインポートするときのpyjnius「クラスが見つかりません」

Java アプリケーションからビルドした jar ファイルでpyjniusを動作させようとしていますが、「クラスが見つかりません」というエラーが表示され続けます。

もちろん私はチェックしました:

com/myapp/webapp/server/helpers/licensee/CalculationHelper.class はそこにあります

クラスパスを次のように設定しようとしました:

しかし、これは私に同じ結果をもたらしました。私はvirtualenvで作業しています。オンラインで見つけることができるすべてのアプローチを試しましたが、うまくいきません。pipを使用すると古いバージョンのpyjniusが得られたため、pyjniusを手動でインストールする必要がありました。どんな助けでも歓迎です。


編集:私が作成したものではないjarでこれを試しましたが、別のエラーが表示されます

そして、そのjarのjar tfの内容は次のとおりです。

繰り返しますが...どんな助けでも大歓迎です!

0 投票する
1 に答える
2895 参照

apache-spark - PySparkでJavaSparkContextからSparkContextを取得するには?

PySpark を実行すると、

次のような素敵な出力が得られます

走りながら

Java NPE で Py4J エラーが発生する

Py4J を介して、アクセス権を与えられSparkContextた に含まれる にアクセスできないのはなぜですか?JavaSparkContext