2

Google Cloud Logging の Dataproc Spark ジョブからの出力とともに、Dataproc クラスタからSparkジョブ ドライバの出力Hadoop ジョブにアクセスするための回答があることを理解しています。これらに感謝します。

ただし、インタラクティブやセッションなどの不完全なSpark アプリケーションのログを表示することにも関心があります。pyspark-shellspark-shell

  1. 同じ Web インターフェイスを使用して、場合によっては
  2. 生のセッション出力 (ローカル fs または hdfs のログ ファイル?) へのアクセス

Spark シェル セッション中に、セッションを不完全なアプリケーションとして表示することはできますが、REPL でコマンドを実行している場合、UI はJobsStages、およびTasksタブにそのような情報を提供しません。これは次のように簡単に複製できます。

# Launch Dataproc cluster
>> gcloud beta dataproc clusters create $DATAPROC_CLUSTER_NAME

# SSH to master node:
>> gcloud compute ssh "root@$DATAPROC_CLUSTER_NAME-m"

# Launch a Spark shell (e.g., Python) 
>> pyspark

(上記のように) Spark セッションを不完全なアプリケーションとして見ることができ、次のような基本的な Spark ジョブを (collectアクションを使用して) 実行できます。

>>> rdd = sc.parallelize([1, 2, 3, 4, 5, 6])
>>> rdd2 = rdd.map(lambda x: x + 1)
>>> rdd2.collect()
[2, 3, 4, 5, 6, 7]
>>> rdd2.persist()
PythonRDD[1] at collect at <stdin>:1

ただし、これにより、JobsStages、またはStorageタブのいずれにも情報が表示されません: Spark ジョブ履歴 UI 画面グラブ (空白) を参照してください

ただし、Dataproc API を介してジョブを送信する場合、これらのタブには予想されるすべてのジョブ履歴が表示されます。

Spark シェル セッションからそのような出力/ジョブ履歴にアクセスできる場所に関するヒントはありますか? よろしくお願いします。:)

4

1 に答える 1