問題タブ [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.
python - Py4Jを使用してPythonからEclipseエディターを開く
Python プログラムから Eclipse エディターでファイルを開こうとしています。
Java でこれを行う方法の例を次に示します。
Py4jを使用してPythonからこのAPIを使用しようとしています。
これはうまくいきます。しかし、私は取得して積み上げましたpage
。
ここで None を取得しています。Rudolf Widmann がこの質問に対する回答をここに投稿したようです。したがって、Java ソリューションは次のようになります。
しかし、どうすればPythonからこれを行うことができますか? Py4jで実装するには?
java - ImportError: py4j.java_gateway という名前のモジュールがありません
を使用して Python から Java プログラムの呼び出しをテストしようとしていpy4j
ます。Eclipse にプラグインをインストールし、test という名前の pydev プロジェクトを作成しました。py4j Webページで見つけた次のコードを実行しようとしています:
しかし、インポートでエラーが発生します。py4j jar が Eclipse の plugins ディレクトリに存在することを確認しました。誰か助けてくれませんか?
python - PySpark が py4j.java_gateway を見つけられないのはなぜですか?
Spark をインストールし、sbt アセンブリを実行したところ、問題なく bin/pyspark を開くことができました。ただし、pyspark モジュールを ipython にロードする際に問題が発生しています。次のエラーが表示されます。
java - py4jでscala型キャストはどのように行われますか?
py4jを使用してjvmをトリガーするときに、scala/javaで行われるように型キャストを行う方法はありますか?
基本的に、私はこれを翻訳したいと思います:
次のようなものに:
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クラス/クラスパスの問題を追跡するために他に何を調べるべきか途方に暮れています。
python - PySpark で使用するサードパーティの Java JAR ファイルを追加する方法
Java のサードパーティ データベース クライアント ライブラリがいくつかあります。私はそれらにアクセスしたい
例: クライアント クラス (JDBC ドライバーではありません!) を Java ゲートウェイ経由で Python クライアントが利用できるようにするには:
サードパーティのライブラリを JVM クラスパスに追加する場所が明確ではありません。ファイルcompute-classpath.shに追加しようとしましたが、うまくいかなかったようです。私は得る:
Py4jError: パッケージを呼び出そうとしています
また、Hive と比較すると、ハイブ JAR ファイルはファイルcompute-classpath.shを介してロードされないため、疑わしいと思います。JVM 側のクラスパスをセットアップするための別のメカニズムが発生しているようです。
java - jarファイルをインポートするときのpyjnius「クラスが見つかりません」
Java アプリケーションからビルドした jar ファイルでpyjniusを動作させようとしていますが、「クラスが見つかりません」というエラーが表示され続けます。
もちろん私はチェックしました:
com/myapp/webapp/server/helpers/licensee/CalculationHelper.class はそこにあります
クラスパスを次のように設定しようとしました:
しかし、これは私に同じ結果をもたらしました。私はvirtualenvで作業しています。オンラインで見つけることができるすべてのアプローチを試しましたが、うまくいきません。pipを使用すると古いバージョンのpyjniusが得られたため、pyjniusを手動でインストールする必要がありました。どんな助けでも大歓迎です。
編集:私が作成したものではないjarでこれを試しましたが、別のエラーが表示されます
そして、そのjarのjar tfの内容は次のとおりです。
繰り返しますが...どんな助けでも大歓迎です!
apache-spark - PySparkでJavaSparkContextからSparkContextを取得するには?
PySpark を実行すると、
次のような素敵な出力が得られます
走りながら
Java NPE で Py4J エラーが発生する
Py4J を介して、アクセス権を与えられSparkContext
た に含まれる にアクセスできないのはなぜですか?JavaSparkContext