2017-07-19 5 views
0

私はスパークストリーミングを使用して、s3の場所から着信データを読み取るため、ここでは2つの質問があります。apache sparkストラクチャードストリーミング

質問1)

私はS3の受​​信ファイルを読み込んで、私の構造化されたストリーミングパイプラインを開始します。私は、以下のスキーマ

を有する

COLのA、COLのB、COLのC

私はいくつかの変換を実行し、寄木細工の形式で別のS3位置にデータを書き込むように、着信JSONデータのスキーマを提供しますコルA、コルA「コルB、コルB」、コルC、コルC」

は現在、いくつかの日後に私の入ってくるストリーミングデータの変更を言うとし、私は

ケースに自分の着信スキーマを変更する必要があります1)col A、col B、col C、col D

ケース2)COLのA、コルB

その後、私は

ケース1)COLのA、コルA」、コルB、コルBとして寄木細工で私の新しい変換スキーマを必要とする変換を行った後'COL C、コルC'、コルD、コルD '

ケース2)COLのA、コルA'、コルB、コルB」

だから、ストリーミング出力を考慮し、この事も可能ですが書かれています寄木細工のファイルへ

質問2)

スパークストリーミングではcheckpointLocationを使用しているため、あらかじめ処理されたデータの一部またはすべてを再処理できる方法はありますか。あなたの質問2

ため

+0

) 寄木細工( "S3 ...") – anaidu

答えて

0

回答ちょうどプロセスを再起動&チェックポイントの場所のディレクトリを削除します。質問1については

+0

はい。私たちは、この spark.read.option( "mergeSchema"、 "真")のような何かができるようだが、方法としてそこにあります特定のデータを再処理するには、 checkPointingの場所を削除するとすべてが再処理されます – anaidu

関連する問題