하둡 pig 예제

돼지는 아파치 하두롭과 함께 사용되는 높은 수준의 스크립팅 언어입니다. Pig를 사용하면 데이터 작업자가 Java를 모르고 복잡한 데이터 변환을 작성할 수 있습니다. 돼지의 간단한 SQL과 같은 스크립팅 언어는 돼지 라틴어라고하며, 이미 스크립팅 언어와 SQL에 익숙한 개발자에게 호소합니다. Pig는 HDFS, Amazon S3 및 기타 분산 파일 시스템에 저장된 실행 중인 스크립트(및 Jar 파일)를 지원합니다. 스크립트의 전체 위치 URI가 필요합니다(Jar 파일에 대한 자세한 내용은 등록 참조). 예를 들어, HDFS에서 돼지 스크립트를 실행하려면 다음을 수행합니다: 아파치 돼지는 아파치 하두프를 사용하여 HDFS에 저장된 거대한 데이터 집합에 대한 쿼리를 실행하기 위해 개발된 고급 언어 플랫폼입니다. SQL 쿼리 언어와 유사하지만 더 큰 데이터 집합과 추가 기능에 적용됩니다. 돼지에 사용되는 언어는 PigLatin이라고합니다. SQL과 매우 유사합니다. 데이터를 로드하고 필요한 필터를 적용하고 필요한 형식으로 데이터를 덤프하는 데 사용됩니다. 프로그램을 실행하려면 Java 런타임 환경이 필요합니다.

돼지는 모든 작업을 지도로 변환하고 Hadoop에서 효율적으로 처리할 수 있는 작업을 줄입니다. 기본적으로 개별 매퍼 및 감속기 기능에 관계없이 전체 작업에 집중할 수 있습니다. 복사 파일 SalesJan2009.csv (로컬 파일 시스템에 저장, ~/입력/SalesJan2009.csv) HDFS에 (Hadoop 분산 파일 시스템) 홈 디렉토리 지금 알고, 만들고 아파치 돼지 스크립트를 실행 하는 방법. 따라서, 하두프 튜토리얼 시리즈의 다음 블로그는 아파치 돼지에서 UDF (사용자 정의 기능)를 만들고 MapReduce / HDFS 모드에서 실행하는 방법을 다룰 것입니다. 로컬 모드: `로컬 모드`에서는 로컬 파일 시스템에서 돼지 스크립트를 실행할 수 있습니다. 이 경우 Hadoop HDFS 파일 시스템에 데이터를 저장할 필요가 없으며 대신 로컬 파일 시스템 자체에 저장된 데이터로 작업할 수 있습니다. 동일한 우선 순위가 있습니다: Hadoop 구성 파일 < -D Hadoop 속성 < -P 속성_파일 < 집합 명령. 돼지는 돼지 명령을 포함하는 스크립트 파일을 실행할 수 있습니다. 예를 들어 돼지 script.pig는 로컬 파일 script.pig에서 명령을 실행합니다.

또는 매우 짧은 스크립트의 경우 -e 옵션을 사용하여 명령줄에서 문자열로 지정된 스크립트를 실행할 수 있습니다. MapReduce 프레임워크에서 프로그램은 일련의 맵 및 축소 단계로 변환되어야 합니다. 그러나 이것은 데이터 분석가가 잘 알고 있는 프로그래밍 모델이 아닙니다. 그래서, 이 격차를 해소하기 위해, 돼지라는 추상화는 Hadoop의 상단에 지어졌다. 하두프 속성을 포함하여 돼지가 수집하는 모든 속성은 UDFContext 개체를 통해 모든 UDF에서 사용할 수 있습니다. 속성에 액세스하려면 getJobConf 메서드를 호출할 수 있습니다. 짧은 작업을 실행할 때 사용자가 일반 kinit 메서드를 통해 Kerberos에 로그인했는지 확인하기만 하면 됩니다. Hadoop 작업은 이러한 자격 증명을 자동으로 픽업하고 작업이 정상적으로 실행됩니다.