PySpark構造化ストリーミングと連携するシンクツェッペリンから。基本的に、画面に表示された結果や、見つかったログファイルには表示されません。Zeppelinで表示可能な出力を生成するシンクでPySpark構造化ストリーミングを使用する実例はありますか?理想的には、テストも簡単なので、ソケットソースも使用します。16.04spark-2.2.0-bin-hadoop2.7zeppelin-0.7.3-bin-allPython3structured_network_wordcount.pyの例。);バッチごとにテーブルが表示されます。上記の実行中のnetcatセッション。1コンソールシンクは、インタラクティブなノートブックベースのワークフローには適していません。同じ段落で(または同等の)を呼び出し、メモを効果的にブロックします。.start()query.awaitTermination()それがなければ、Zeppelinには出力を待つ理由がありません。PySparkは、その上に別の問題を追加するだけです-間接実行。そのため、クエリをブロックしても、ここでは役に立ちません。出力が上書きされるか、定期的にクリアされるもう少し賢明な動作を実現します。Zeppelinでテストする場合のより良い選択肢は、メモリシンクです。.start())別の段落でオンデマンドで結果を照会します:%pysparkspark.table("some_name").show()リアクティブストリームまたは同様のソリューションと組み合わせて、間隔ベースの更新を提供できます。クエリリスナはPySparkではサポートされておらず、物事を結び付けるために少しのコードが必要です。outputクエリのストリーミングを開始した後、最後のステップを実行する必要があります。次のような最小限のオブザーバーを使用します。(1つの注意点は、これが標準出力への他のコード出力を妨げる可能性があり、リスナーを削除することによってのみ停止できるということです。オブザーバー、完了したら)が、それ以外はほぼ同じように動作するはずです。ブロッキングアクションはリスナーからの出力をキャプチャするのに十分であり、同じセルで実行する必要がないことに注意してください。StreamingObserver()spark.streams.addListener(observer)同様に機能し、定義された時間間隔でテーブルを印刷します。残念ながら、構造化ストリーミングをテストするための形式)。開始されています(それ以外の場合はクエリが停止するだけです)。クエリが実際に実行されていることも確認してください。9999Zeppelinノートブックで出力を表示できないことは確かに本当です。理由は次のとおりです。その別個のスレッドの演算子)。これにより、Zeppelinで利用できない出力の「傍受」が行われます。シンクは使用しません。-カスタムシンクのように、log4jロガーを使用します。正直なところ、それはそれほど難しくありません。コンソールシンクのソースに従ってください。コンソール出力をファイルに保存します。