복붙노트

[HADOOP] 스트리밍을 촉발 할 특정 파일을 선택

HADOOP

스트리밍을 촉발 할 특정 파일을 선택

내 프로그램은 지속적으로 하둡 폴더 (예를 들어 / hadoopPath /) 위의 폴더에서 모든 파일을 따기 .Its에서 스트림을 읽습니다. 나는이 폴더에 대한 특정 파일 형식을 그림 수 있습니다 (같은 :. / hadoopPath / * 로그)

나는 스파크 및 스트리밍과 관련된 또 다른 질문이 있습니다 : 가 불꽃 스트리밍은 "MV" "CP"모두 작동 및

해결법

  1. ==============================

    1.나는 몇 시간에 같은 문제로 어려움을 겪고있다 그리고 그렇게 쉬운 듯하지만, 나는 그것에 대해 아무것도 온라인을 찾을 수 없습니다. 마지막으로, 나는 내 경우에는 근무 해결책을 발견했다. 저도 같은 문제로 다른 사람을 위해 시간을 절약하기 위해 여기를 걸었습니다. 당신은 단지 패턴 "경로 - 투 - 하둡 폴더 / *. CSV"로 파일을 읽고 싶은 생각 해보자. 당신이 나타낼 때 기본 경우 폴더 스파크는 내 경우, 오류를 초래 폴더 (예를 들어, .csv.COPYING)의 모든 파일을 읽습니다. 당신이 할 필요가 readStrem을 정의 할 때 .CSV 방법이 패턴을 지정하는 것입니다. 파이썬의 예는 다음과 같다 :

    나는 몇 시간에 같은 문제로 어려움을 겪고있다 그리고 그렇게 쉬운 듯하지만, 나는 그것에 대해 아무것도 온라인을 찾을 수 없습니다. 마지막으로, 나는 내 경우에는 근무 해결책을 발견했다. 저도 같은 문제로 다른 사람을 위해 시간을 절약하기 위해 여기를 걸었습니다. 당신은 단지 패턴 "경로 - 투 - 하둡 폴더 / *. CSV"로 파일을 읽고 싶은 생각 해보자. 당신이 나타낼 때 기본 경우 폴더 스파크는 내 경우, 오류를 초래 폴더 (예를 들어, .csv.COPYING)의 모든 파일을 읽습니다. 당신이 할 필요가 readStrem을 정의 할 때 .CSV 방법이 패턴을 지정하는 것입니다. 파이썬의 예는 다음과 같다 :

    activity = spark \
        .readStream \ 
        .option("sep", ",") \ 
        .schema(userSchema) \ 
        .csv("path-to-hadoop-folder/*.csv")  
    

    이 방법 스파크에서만 .CSV 패턴 *로 파일을 간주하고 폴더에있는 다른 모든 파일을 무시합니다. 나는 불꽃 2.0.0에 그것을 테스트 2.6 하둡있다. (P.S 난 단지 CSV 파일을 위해 그것을 테스트했지만 나는 비슷한 솔루션을 가지고 있어야 텍스트 파일로 작업 추측) 당신은 불꽃 dataStreamReader 길드에서 동일한 솔루션을 찾을 수 있습니다

  2. from https://stackoverflow.com/questions/36351457/can-spark-streaming-pick-specific-files by cc-by-sa and MIT license