비디오: Hadoop Processing Frameworks 2024
Pig Latin은 데이터 흐름 및 데이터가 흐르는대로 적용되는 일련의 변환을 정의하는 dataflow 언어입니다 귀하의 신청서를 통해 이것은 일련의 명령어를 작성하는 제어 흐름 언어 (C 또는 Java와 유사)와는 대조적입니다.
제어 흐름 언어에서 루프 및 조건 논리 (if 문과 같은)와 같은 구문을 사용합니다. 돼지 라틴어에서 루프 및 if 문을 찾을 수 없습니다.
Pig를 사용하여 작업하는 것이 Map 및 Reduce 프로그램을 작성하는 것보다 훨씬 쉽다는 확신이 필요하면 실제 돼지 구문을 살펴보십시오.
A = LOAD '데이터 _ 파일. txt ';. B = 그룹 …; … C = 필터 …;. 덤프 B;. '결과'에 저장;
이 예제의 일부 텍스트는 실제로 영어처럼 보입니다. 맞습니까? 이 시점에서 적어도 무서운 것은 아닙니다. 각 라인을 차례로 보면 돼지 프로그램의 기본 흐름을 볼 수 있습니다. (이 코드는 스크립트의 일부일 수도 있고 Grunt라고 불리는 대화 형 셸에서 발행 될 수도 있습니다.)
-
로드: 먼저 조작하려는 데이터를로드 (LOAD)합니다.
일반적인 MapReduce 작업과 마찬가지로 해당 데이터는 HDFS에 저장됩니다. Pig 프로그램이 데이터에 액세스하려면 먼저 Pig에게 사용할 파일을 지정하십시오. 이 태스크에서는 LOAD 'data_file'명령을 사용합니다.
여기서 'data_file'은 HDFS 파일이나 디렉토리를 지정할 수 있습니다. 디렉토리가 지정되면 해당 디렉토리의 모든 파일이 프로그램에로드됩니다.
데이터가 Pig에 기본적으로 액세스 할 수없는 파일 형식으로 저장되는 경우 선택적으로 USING 함수를 LOAD 문에 추가하여 읽을 수있는 사용자 정의 함수를 지정할 수 있습니다 (해석).
-
변형: 변형 된 집합을 통해 데이터를 실행하면 자신이 염려해야 할 대상에서 멀리 떨어진 곳에서지도 및 축소 작업 집합으로 변환됩니다.
변환 논리는 모든 데이터 조작이 이루어지는 곳입니다. 여기에서는 관심이없는 행을 필터링하여 두 세트의 데이터 파일을 조인하고 집계를 구성하는 GROUP 데이터, ORDER 결과 등을 수행 할 수 있습니다.
-
덤프: 마지막으로 결과를 파일
또는
저장 (STORE) 파일에 어딘가에 덤프 (덤프)합니다.
일반적으로 프로그램을 디버깅 할 때 화면에 출력을 보내려면 DUMP 명령을 사용합니다. 프로그램을 프로덕션으로 가져 가면 DUMP 호출을 STORE 호출로 변경하여 프로그램 실행 결과를 추가 처리 또는 분석을 위해 파일에 저장합니다.