2017-11-16 10 views
1

내 질문에 대한 몇 가지 상황.
당신은 여기에서 볼 수 있듯이 : 예를 들어이 토폴로지를 사용하여 HDFS"들어오는 문"으로 Kafka가있는 DWH 환경에 일괄 오프라인 데이터로드

  1. Sqoop을
  2. 카프카

로 데이터를로드하기 위해 2 "문"이 있습니다 Airbnb Data Infra https://medium.com/airbnb-engineering/data-infrastructure-at-airbnb-8adfb34f169c

, FTP 서버 정보 HDFS에서 호스팅되는 일괄 오프라인 데이터를로드하는 가장 좋은 방법은 무엇입니까?

파일을 수행 할 때 변경 작업이 필요 없다고 가정하고 FTP 서버에 저장된 구조와 동일한 구조로 HDFS에 저장해야합니다.

생각하십니까?

답변

1

카프카는 기본적으로 "파일 크기"데이터를 전송하도록 정확하게 구성되지 않았습니다. 적어도 하나의 메시지에 전체 파일이있는 것은 아닙니다. 어쩌면 선을 떼어 놓을 수도 있지만, 다시 정리하고 다시 HDFS에 넣어야합니다.

제 경험상 FTP 서버에서 몇 가지 옵션을 보았습니다.

바닐라 하둡은 불필요한 소프트웨어는

추가 소프트웨어가

    을 필요한 다른 파일 시스템 인 것처럼 HDFS에 직접 파일을 복사

    • 사용하여 NFS 게이트웨이, WebHDFS 또는 HttpFS을 할 필요가 없습니다
    • FTP 및 HDFS 클라이언트 연결이 포함 된 코드
    • Spark Streaming w/
    • 수로 에이전트가 HDFS와 FTP 서버에서 실행
    • 하여 FTP 커넥터 소스와 HDFS 싱크를 가진 FTP 커넥터 및 HDFS 쓰기 출력
    • 카프카 & 카프카 연결은 GetFTP 및 PutHDFS 프로세서
    • 아파치 NiFi 싱크
    • NiFi과 비슷한 일을
    • Streamsets 데이터 수집기는 우리가 FTP 서버에 저장되어있는 동일한 구조에서 HDFS에 저장해야

    합니다 (이 일에 대한 용어를 모른다).

    이 작은 파일이 있다면, 당신은 하둡 HDFS

    에 업로드하기 전에 아카이브 형식을 지원에 적어도 파일을 압축하는 것이 더 낫다