복붙노트

[HADOOP] HDFS 파일 감시자

HADOOP

HDFS 파일 감시자

HDFS에서 파일 감시자를 사용할 수 있습니까?

대본: 파일이 지속적으로 HDFS에 상륙하고 있습니다. 파일 수가 임계 값에 도달하면 (파일 수 또는 파일 크기 일 수 있음) 스파크 작업을 시작하고 싶습니다.

이를 달성하기 위해 HDFS에 파일 감시자를 구현할 수 있습니까? 그렇다면 누구나 그것을 할 수있는 방법을 제안 할 수 있습니까? 가능한 다른 옵션은 무엇입니까? 사육사 또는 오지가 할 수 있습니까?

도움이 될 것입니다. 감사합니다.

해결법

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

    1.Hadoop 2.6은 이것을 위해 사용할 수있는 DFSInotifyEventInputStream을 도입했습니다. HdfsAdmin에서 인스턴스를 가져온 다음 .take () 또는 .poll ()을 호출하여 모든 이벤트를 가져올 수 있습니다. 이벤트 유형에는 삭제, 추가 및 작성이 포함되며 원하는 내용을 포함해야합니다.

    Hadoop 2.6은 이것을 위해 사용할 수있는 DFSInotifyEventInputStream을 도입했습니다. HdfsAdmin에서 인스턴스를 가져온 다음 .take () 또는 .poll ()을 호출하여 모든 이벤트를 가져올 수 있습니다. 이벤트 유형에는 삭제, 추가 및 작성이 포함되며 원하는 내용을 포함해야합니다.

    여기에 기본적인 예가 있습니다. 관리자 인터페이스가 HDFS 루트를 필요로하므로 hdfs 사용자로 실행해야합니다.

    public static void main( String[] args ) throws IOException, InterruptedException, MissingEventsException
    {
        HdfsAdmin admin = new HdfsAdmin( URI.create( args[0] ), new Configuration() );
        DFSInotifyEventInputStream eventStream = admin.getInotifyEventStream();
        while( true ) {
            EventBatch events = eventStream.take();
            for( Event event : events.getEvents() ) {
                System.out.println( "event type = " + event.getEventType() );
                switch( event.getEventType() ) {
                    case CREATE:
                        CreateEvent createEvent = (CreateEvent) event;
                        System.out.println( "  path = " + createEvent.getPath() );
                        break;
                    default:
                        break;
                }
            }
        }
    }
    

    다음은 블로그 게시물에 자세히 설명되어 있습니다.

    http://johnjianfang.blogspot.com/2015/03/hdfs-6634-inotify-in-hdfs.html?m=1

  2. ==============================

    2.Oozie 코디네이터가이 작업을 수행 할 수 있습니다. Oozie 코디네이터 작업은 데이터 가용성에 따라 트리거 될 수 있습니다. 데이터 트리거 코디네이터를 작성하십시오. 조정자 조치는 완료 플래그에 따라 트리거됩니다. done-flag는 빈 파일입니다. 따라서 임계 값에 도달하면 빈 파일을 디렉토리에 기록하십시오.

    Oozie 코디네이터가이 작업을 수행 할 수 있습니다. Oozie 코디네이터 작업은 데이터 가용성에 따라 트리거 될 수 있습니다. 데이터 트리거 코디네이터를 작성하십시오. 조정자 조치는 완료 플래그에 따라 트리거됩니다. done-flag는 빈 파일입니다. 따라서 임계 값에 도달하면 빈 파일을 디렉토리에 기록하십시오.

  3. from https://stackoverflow.com/questions/29960186/hdfs-file-watcher by cc-by-sa and MIT license