Talend-지도 축소
이전 장에서 우리는 Talend가 빅 데이터로 작동하는 방법을 보았습니다. 이 장에서는 Talend와 함께 map Reduce를 사용하는 방법을 이해하겠습니다.
Talend MapReduce 작업 생성
Talend에서 MapReduce 작업을 실행하는 방법을 알아 보겠습니다. 여기서는 MapReduce 단어 수 예제를 실행합니다.
이를 위해 작업 디자인을 마우스 오른쪽 버튼으로 클릭하고 새 작업 인 MapreduceJob을 만듭니다. 작업의 세부 사항을 언급하고 완료를 클릭하십시오.
MapReduce 작업에 구성 요소 추가
MapReduce 작업에 구성 요소를 추가하려면 Talend의 5 개 구성 요소 – tHDFSInput, tNormalize, tAggregateRow, tMap, tOutput을 팔레트에서 디자이너 창으로 끌어다 놓습니다. tHDFSInput을 마우스 오른쪽 버튼으로 클릭하고 tNormalize에 대한 기본 링크를 만듭니다.
tNormalize를 마우스 오른쪽 버튼으로 클릭하고 tAggregateRow에 대한 기본 링크를 만듭니다. 그런 다음 tAggregateRow를 마우스 오른쪽 버튼으로 클릭하고 tMap에 대한 기본 링크를 만듭니다. 이제 tMap을 마우스 오른쪽 버튼으로 클릭하고 tHDFSOutput에 대한 기본 링크를 만듭니다.
구성 요소 및 변환 구성
tHDFSInput에서 배포 cloudera 및 해당 버전을 선택합니다. Namenode URI는 "hdfs : //quickstart.cloudera : 8020"이고 사용자 이름은 "cloudera"여야합니다. 파일 이름 옵션에서 입력 파일의 경로를 MapReduce 작업에 제공하십시오. 이 입력 파일이 HDFS에 있는지 확인하십시오.
이제 입력 파일에 따라 파일 유형, 행 구분 기호, 파일 구분 기호 및 헤더를 선택하십시오.
스키마 편집을 클릭하고 "line"필드를 문자열 유형으로 추가합니다.
tNomalize에서 정규화 할 열은 행이되고 항목 구분 기호는 공백-> ""이됩니다. 이제 스키마 편집을 클릭하십시오. tNormalize는 라인 컬럼을 가지며 tAggregateRow는 아래와 같이 2 개의 컬럼 word 및 wordcount를 갖습니다.
tAggregateRow에서 Group by 옵션에 단어를 출력 열로 입력합니다. 연산에서는 워드 카운트를 출력 열로, 함수를 카운트로, 입력 열 위치를 라인으로 입력합니다.
이제 tMap 구성 요소를 두 번 클릭하여 맵 편집기로 들어가 필요한 출력으로 입력을 매핑합니다. 이 예에서 word는 word로 매핑되고 wordcount는 wordcount로 매핑됩니다. 표현식 열에서 […]을 클릭하여 표현식 작성기로 들어갑니다.
이제 카테고리 목록과 UPCASE 함수에서 StringHandling을 선택합니다. 표현식을 "StringHandling.UPCASE (row3.word)"로 편집하고 확인을 클릭하십시오. 아래와 같이 wordcount에 해당하는 expression 열에 row3.wordcount를 유지합니다.
tHDFSOutput에서 저장소로 속성 유형에서 생성 한 Hadoop 클러스터에 연결합니다. 필드가 자동으로 채워지는지 확인합니다. 파일 이름에 출력을 저장할 출력 경로를 지정합니다. 아래에 표시된대로 작업, 행 구분 기호 및 필드 구분 기호를 유지합니다.
MapReduce 작업 실행
구성이 성공적으로 완료되면 실행을 클릭하고 MapReduce 작업을 실행합니다.
HDFS 경로로 이동하여 출력을 확인하십시오. 모든 단어는 단어 수와 함께 대문자로 표시됩니다.