問題タブ [spark-jobserver]
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.
spark-jobserver - Spark Job Server が無効な Jar を取得し続ける
sbt job-server-api/packages と sbt job-server-tests/packages を使用してビルドを行いました。jar -cxf コマンドを使用して jar を拡張/解凍できます
SPARK バージョン 1.5 を使用しています。
マニフェストを表示できます。猫 MANIFEST.MF
jar形式の問題を解決するためにここで私を助けてもらえますか?
scala - 並列実行されている Scala インタープリターを使用して、Spark で REPL 生成されたクラスファイルを処理する方法は?
私の会社では現在、Spark インタープリターを使用して、spark-jobserverで動的にクラス ファイルを生成しています。-Yrepl-outdir
これらのクラス ファイルは、Spark クラスター ドライバーで生成され、標準の " " コマンドを使用して定義された (そのドライバーの) ディレクトリに保存されますScalaSettings
。そこからクラスファイルをロードするエグゼキュータの一種のキャッシュを表します。
ドライバーごとに 1 つのインタープリターを使用する標準的なセットアップでは、すべて正常に動作しますが、並行して実行される複数のインタープリターを導入してパフォーマンスを改善しようとすると、問題が発生します。各ルートが独自のスレッドで実行される、ルートごとに 1 つのインタープリターを持つ Akka ルーターの設計パターンを使用しましたが、もちろん壁にぶつかりました。つまり、これらのインタープリターは、クラス ファイルを評価する際に、出力ディレクトリ内で互いの結果をオーバーライドしています。
インタープリターごとに異なる出力ディレクトリを追加して修正しようとしましたが、その場合、これらの出力ディレクトリは、生成されたクラス ファイルを探すディレクトリとして Spark によって認識されませんでした。特定のインタープリターごとに、「-Yrepl-outdir
」コマンドを使用して個別の出力ディレクトリを定義しましたが、それでは十分ではありませんでした。
また、クラスローダーを変更して、生成されたパッケージ/クラスのデフォルト名を変更しようとしましたが、それぞれが特定のインタープリターに固有のプレフィックスで始まりますが、まだ解決策が見つかりません。
この問題を再現するには、Spark クラスター インスタンスを実行し、Spark Scala インタープリターをプログラムでセットアップする必要があるため、一般的な Scala インタープリターの生成を示す単純化された方法を公開します。
ここでは、実行中のインタープリターの簡略化された出力を、左側のパネルにパッケージが表示され、右側のパネルにそのうちの 1 つのコンテンツ ( $line3
) が表示されます。私の問題を解決すると思うのは、これらのパッケージにカスタム名を付けることです- $line1, $line2
、などの代わりに、p466234$line1, p198934$line2
各インタープリターに一意のプレフィックスを付けます。
では、Spark Scala インタープリターによって生成されたクラスファイル/パッケージの名前を変更する最も簡単な方法は何ですか? この問題に対する他の解決策はありますか?
spark-jobserver - Spark Jobserver max-jobs-per-context
コンテキストで実行されている同時 Spark ジョブの数を制御する max-jobs-per-context 設定の安全な最大しきい値をどのように決定しますか? 上げすぎるとどうなる?デフォルトは 8 に設定されており (以下のリンクを参照)、もっと高く設定したいのですが、高く設定しすぎるとどうなるかわかりません。
intellij-idea - Spark ジョブ サーバーでの Spark ジョブ "java.lang.NoClassDefFoundError: org/apache/spark/sql/SQLContext" のエラー
IntelliJ で spark ジョブを作成し、spark Job-Server でロードして実行したいです。このために、私はこのリンクの手順に従いました: http://github.com/ooyala/spark-jobserver 私のスパークのバージョンは 1.4.0 です。
これは私のプロジェクトのscalaコードです:
しかし、実行するとcurl: (52) Spark job-serverでこのエラーが発生したサーバーからの空の返信:
クラス HiveContext は、spark jar ファイル spark-assembly-1.4.0-hadoop1.0.4.jar でサポートされているようです。
scala - Spark JobServer JDBC-ClassNotFound エラー
私は持っています: - Hadoop - Spark JobServer - SQL データベース
Spark JobServer のローカル インスタンスから SQL データベースにアクセスするためのファイルを作成しました。これを行うには、まず次のコマンドで JDBC ドライバーをロードする必要がありますClass.forName("com.mysql.jdbc.Driver");
。ただし、Spark JobServer でファイルを実行しようとすると、classNotFound エラーが発生します。
JDBC ドライバーをロードするには、Spark JobServer の application.conf ファイルまたはその server_start.sh ファイルのいずれかでいくつかの構成を変更する必要があることを読みました。私はこれを次のようにしました。server_start.sh で、spark-submit コマンドで送信される cmd 値を変更しました。
また、インスタンスの起動時に使用される Spark JobServer の application.conf ファイルのいくつかの行を変更しました。
しかし、まだJDBCクラスが見つからないというエラーが返ってきます。
次のエラーについてはすでに確認済みです。
エラー 1: ファイル パスが間違っているだけだと誰かが思った場合 (私が知る限り、その可能性が非常に高い)、HDFS で正しいファイルを確認したところhadoop fs -ls hdfs://quickstart.cloudera:8020/user/cloudera/
、ファイルはそこにありました。
エラー 2: 必要な依存関係が build.sbt ファイルに読み込まれています:libraryDependencies += "mysql" % "mysql-connector-java" % "5.1.+"
インポート コマンドが scala-file にありますimport java.sql._
。
この ClassNotFound エラーを解決するにはどうすればよいですか? SQL に接続するための JDBC に代わる良い方法はありますか?