問題タブ [jpype]
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 - JPype および JayDeBeAPI: AttributeError: 'property' オブジェクトに属性 'isBeanAccessor' がありません
JDBC 経由でデータベースに接続しようとして、JayDeBeAPI 0.1.4 とともに JPype (JPype1-0.5.5.4) をビルドしました。これはRHELにあります。ドライバーを使用して正常に接続できますが、
しかし、SQL を実行すると、JPype で次のトレースバックが表示されます。
これについてどこから始めればよいかわかりません。また、この問題に近いことについて言及しているものを見つけることができないようです。
python - JPype-total初心者クエリを使用してPythonからjarファイルを呼び出す
そのため、subprocess.call を使用して、Python からjarファイルを実行しています。
結果を外部の output_file ファイルに書き込みます。-aはオプションです。
Pythonでoutput_fileを分析したいのですが、ファイルを再度開かないようにしたいです。したがって、次のようにjarFile.jarを Python 関数として実行したいと考えています。
JPype をインストールして動作させました。クラスパスを設定し、JVM 環境を開始しました。
そして今立ち往生しています...
python - JPype および JayDeBeAPI は、jpype._jclass.java.lang.Long を返します。
私は PySpark (Apache Spark Python API) で JayDeBeAPI を使用しています。これが私のコードの始まりです (注意してください。実際には、これらすべてを PySpark の対話型シェルで実行しています)。
Apache HBase の SQL「フロントエンド」であるApache Phoenixにクエリを実行しています。
SQL クエリの Python コードは次のとおりです。
私が得ている出力は、すべての行で次のようになります。
返された列 (列) の値を実際に表示するように修正するにはどうすればよいcount
ですか?
Apache Phoenix データ型ページから、列のデータ型count
は BIGINT にマップされていますjava.lang.Long
が、何らかの理由jpype
で結果が表示されていません。
ダウンロードした時点で、JayDeBeAPI 0.1.4 と JPype 0.5.4.2 を入手しpython setup.py install
ました。
java - JPype / Java - 残りのヒープ領域で初期化または取得
JPype を使用して Java を呼び出す Python で記述されたソフトウェアがあり、リソースを大量に消費するさまざまな計算/レポート作成を実行します。JVM の起動時に、最初に 800MB のヒープ領域を割り当てました。Java 側は完全にマルチスレッド化されており、利用可能なあらゆるリソースで動作します。
これは、従来のクライアント用に Windows XP でテストするまではうまく機能していました。新しいマシンは 4 GB の RAM を搭載した Win 7 64 ビットですが、古いマシンは 2 GB の RAM しか搭載していない Win XP 32 ビットです。
問題は、メモリを割り当てすぎた場合、JPype が原因でアプリケーションが無言でクラッシュすることです。上記のステートメントでは、try catch もトリガーされません。
コマンドラインからJavaを使用して、コンピューターに割り当てることができるメモリの量を決定する方法があるかどうか疑問に思っています。32ビットか64ビットかを確認できますが、JVMのヒープスペースを占有している他のプログラムを実行していないことを確認する必要があります. そうである場合、アプリケーションはクラッシュします。
読者のダイジェスト: JVM の初期化時に 500 MB のヒープ領域を割り当てたいのですが、現在どのくらいの領域が使用されているかわかりません。割り当てすぎると、アプリケーション全体が静かにクラッシュします。
以下の JPype を使用します: 0.5.4.2 Python: 2.7 Java: 1.8 または 1.7 (64 ビットまたは 32 ビット)
ありがとう。
java - Jpype が Java に引数を渡す
次の行を持つJavaプログラマーがいます
プログラムは、外部 jar からクラスとメソッドを呼び出します。
Java プログラムのように外部 jar を呼び出す同等のコードを Python で記述したいと考えています。Jpype を使用してコードを実装しましたが、次の行で失敗します
ここで、PropertySet、ItemSchema は、外部 jar から使用するクラスです。ItemSchema.Subject と ewsPkg.ItemSchema.Body はクラス型です
コードを実行すると、上記の行で次のエラーが発生します-
ありがとう
python - リストを作成JPypeで
JPypeを介してメソッドにアクセスすることにより、Pythonコードでスタンフォードパーサーを使用しようとしています。これが私の関連する(python3.4)コードです:
Java コード (スタンフォード パーサーから) の関数 parseStrings は次のようになります。
私が得ているエラーメッセージ:
私は Java について非常に限られた知識しか持っていません。このエラー メッセージは、渡した引数の型が正しくないことを伝えようとしているのだと思います。それが実際に間違っている場合、明らかに「jpype._jclass.java.util.ArrayList」はList(String)と一致していません(ここではlessThan、greaterThanを意味しますが、投稿ではうまくいきませんでした)。(python)リストに文字列を(java)文字列として明示的に追加しようとした場合:jpype.java.lang.String(t)(コメントを参照)。しかし、それと同じエラーメッセージが表示されます。
誰かが私がここで間違っていることを教えてもらえますか?