2017-10-24 17 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

은, 결과 파일은 삭제할 수 없습니다.

여기에 참조 용으로 코드없이 파일을 삭제하는 두 가지 방법이 있습니다.

첫 번째 방법은 다음 HDFS에있는 파일이 azure blob storage container에서 발견 할 수 있기 때문에

, 당신은 푸른 포털에서 직접 삭제할 수 있습니다. 파일을 하나씩 삭제하지 않으려면 Azure Storage Explorer 도구를 사용하여 삭제할 파일을 모두 선택할 수 있습니다.

두 번째 방법 :

클러스터 시스템에 로그온하고 rm command line:

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

당신은 configuration file에서 해당 azure blob storage container 경로를 찾을 수 있습니다 사용할 수 있습니다.

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), 생성 파일에 타임 스탬프가 있음을 알았습니다. 타임 스탬프를 기반으로 사용하지 않을 파일을 정리할 수 있습니다. –