問題タブ [livy]
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 - Spark Jobserver から Apache Livy への移行
Jobserver を使用してスタンドアロンの Spark Server を使用しています。x の理由で、Ambari クラスターに移行する必要がありましたが、Livy が既にあるので、Jobserver の代わりにそれを使用する方がよいと思います。
現在、実際の Java Jobserver コードを Livy に移行しようとして迷っています。私はLivyのドキュメントを読みましたが、これが私が見つけたものです:
Livy では、Jobserver の Ad-Hoc モードのようなバッチを実行できます。また、セッションごとに 1 つの Spark コンテキストを使用してステートメントを実行できるセッションもあります。私は正しいですか?
- Jobserver のように同期できる方法でバッチまたはステートメントを実行し、単一の要求で結果を取得する方法はありますか? 実際には、非同期モードしか表示されません。
- Jobserver では、機能が実装されている Java クラスを参照できます。これはクラスを実装するだけで
JSqlJob<String>
よく、ジョブ サーバーrun()
はこのクラスのメソッドを実行する必要があることを認識します。しかし、Livy で Pi 計算を実行しようとしましたが、失敗します。
次のカールを使用しています:curl -X POST -d '{ "file": "hdfs://a1:8020/user/value_iq/Livy_Pi_Example-1.0-SNAPSHOT-dep.jar", "className": "value_iq.viq.PiJob","proxyUser": "hdfs", "name": "Livy Pi Example", "conf": {"executorCores":1, "executorMemory":"2G", "driverCores":1, "driverMemory":"512m", "queue":"uno"}, "args" : ["100"] }' -H "Content-Type: application/json" -H "X-Requested-By: admin" http://ambari.value-iq.com:8999/batches
そのようなメインメソッドに何を実装する必要がありますか?
これは私のJavaクラスです:
https://livy.incubator.apache.org/docs/latest/programmatic-api.htmlからこのクラスを取得しました。Livy を使用してこのコードを送信するには、LivyClient インスタンスを作成してください。Pi ジョブで jar ファイルをアップロードするには、別の jar ファイルを作成する必要がありますか? 私が試しているように、jar をアップロードして curl で Java クラスを指定するだけでは、これを行うことはできませんか?