2017-10-24 4 views
0

Eventhubutilsライブラリによって生成されたプロセスディレクトリは、hdfsに多数の小さなファイルを作成しています。 https://github.com/Azure/spark-eventhubs/blob/master/docs/direct_stream.md。これらの小さなファイルのために、namenodeに多くの負荷があります。スパークアプリケーションを妨害せずに進行ディレクトリを削除する方法はありますか?私の経験パーeventhubからアプリケーション受信メッセージを受信するspark-streamingによって生成された進行ディレクトリを削除する方法

enter image description here

答えて

0

あなたの現在のタスクが実行されている場合、結果のファイルを削除することはできません。

ここでは、参考のためにコードなしでファイルを削除する2つの方法を提供します。

最初の方法:

HDFS上のファイルがazure blob storage containerで見つけることができるので、あなたは、Azureのポータル上で直接それらを削除することができます。 1つずつファイルを削除したくない場合は、Azure Storage Explorerツールを使用して、削除するすべてのファイルを選択することができます。

第二の方法:

クラスタ・マシンにログオンし、あなたがconfiguration fileに対応するazure blob storage containerパスを見つけることができますrm command line:

hadoop fs -rm [-f] [-r |-R] [-skipTrash] URI [URI ...] 

を使用することができます。

wasbs://[email protected]/testDir/testFile. 

希望します。

+0

イベントハブの保存期間より古いファイルを削除することを意味しますか?継続的に動作するスパークストリーミングジョブに何らかの問題を引き起こすことはありませんか? –

+0

@sivakrishna提供したコードから(https://github.com/Azure/spark-eventhubs/blob/228e1b4ef8c73ddb7e9e44c4216a86f1f3912e9e/core/src/test/scala/org/apache/spark/sql/streaming/eventhubs/EventHubsStreamTest.scala #L423)、生成ファイルにタイムスタンプが付いていることがわかりました。タイムスタンプに基づいて使用しないファイルをクリーンアップすることができます。 –

関連する問題