Apache Pig 튜토리얼: 초보자를 위한 궁극적인 가이드 [2022]

게시 됨: 2021-01-08

빅데이터는 지속적으로 발전하는 분야입니다. 금융, 기술, 의료 등 다양한 산업 분야에 적용됩니다.

빅데이터 전문가가 되려면 빅데이터 분석에 사용되는 다양한 기술을 배워야 합니다. 그리고 Hadoop은 이러한 빅 데이터 기술의 중요한 부분입니다.

Apache Pig는 Hadoop의 많은 필수 구성 요소 중 하나입니다. 방대한 양의 데이터를 빠르게 분석하려면 Pig를 사용해야 합니다. 이 기사에서는 많은 양의 데이터를 처리하는 데 도움이 될 뿐만 아니라 이를 수행하는 동안 시간을 ​​절약할 수 있는 분석 도구인 Apache Pig에 중점을 둘 것입니다.

목차

Apache Pig 자습서: 무엇입니까?

Hadoop을 배우려면 Apache Pig (또는 Hadoop Pig)에 대해 배우는 것이 중요합니다 . 방대한 데이터 세트를 분석하는 데 사용할 수 있는 플랫폼입니다. 데이터 세트를 데이터 흐름으로 표시하여 이를 수행할 수 있습니다.

데이터 과학 세계에서 Hadoop이 얼마나 인기가 있는지 우리는 모두 알고 있습니다. 이 오픈 소스 프레임워크를 마스터하는 데 관심이 있다면 Apache Pig에 대해 배워야 합니다.

Hadoop의 중요한 구성 요소인 Map-Reduce를 기반으로 합니다. 대규모 데이터 세트를 분석할 수 있으므로 이 도구를 사용하면서 더 효율적으로 작업할 수 있습니다. Hadoop의 데이터 조작 프로젝트에도 Apache Pig를 사용할 수 있습니다.

Pig는 고급 언어인 Pig Latin을 배워야 하는 고급 도구입니다. Pig Latin은 데이터 분석 프로그램을 작성하는 데 도움이 됩니다. 최고의 Hadoop 도구에 대해 자세히 알아보세요. 이 언어를 통해 이러한 작업에 대한 특정 기능을 개발하는 동안 데이터를 쓰고 읽고 처리할 수 있습니다.

Pig Latin으로 작성한 스크립트는 Map-Reduce 작업에서 자동으로 변환됩니다. Apache Pig의 엔진(Pig Engine이라고 함)은 작성된 스크립트를 이러한 작업으로 변환하는 데 도움이 됩니다. 이 도구를 배우면 빅 데이터 분석을 수행하는 데 상당한 도움이 됩니다.

다양한 프로세스를 단순화하고 빠른 스크립팅 언어를 통해 시간을 절약할 수 있습니다. 학습 곡선이 있지만 일단 통과하면 작업하기에 가장 간단한 도구 중 하나라는 것을 알게 될 것입니다.

세계 최고의 대학에서 소프트웨어 공학 학위취득하십시오 . 이그 제 큐 티브 PG 프로그램, 고급 인증 프로그램 또는 석사 프로그램을 획득하여 경력을 빠르게 추적하십시오.

아파치 피그의 역사

2006년 Yahoo에서 Apache Pig는 수많은 데이터 세트에서 MapReduce 작업을 수행하기 위해 만들어졌습니다. Apache Pig는 Apache Incubator를 통해 2007년에 오픈 소스가 되었습니다. 그로부터 1년 후 첫 번째 릴리스가 시장에 출시되었습니다.

마침내 2010년에 Apache Pig는 Apache 고급 프로젝트가 되었습니다. 그 이후로 빅 데이터 전문가에게 매우 필수적인 도구가 되었습니다. 이제 돼지의 기원에 대해 알았으므로 돼지가 인기 있는 이유와 장점에 대해 논의할 수 있습니다.

아파치 피그의 특징

돼지는 기능이 풍부합니다. 다양한 기능으로 인해 전문가에게 가치 있고 무엇과도 바꿀 수 없는 도구입니다.

기능은 다음과 같습니다.

  • Pig에는 프로그래밍 작업을 단순화하는 데 사용할 수 있는 많은 연산자가 있습니다.
  • 특정 요구 사항에 따라 기능을 만들 수 있습니다. 이러한 함수를 UDF(사용자 정의 함수)라고 하며 Python, JRuby, Jave 등을 포함한 모든 프로그래밍 언어로 작성할 수 있습니다.
  • Pig는 모든 종류의 데이터를 처리할 수 있습니다. 즉, 구조화, 반구조화 및 구조화되지 않은 데이터 값을 느낄 수 있습니다.
  • 작업을 실행하기 전에 자동으로 최적화합니다.
  • 별도의 Map 및 Reduce 기능에 대한 걱정 없이 전체 프로젝트에서 작업할 수 있습니다.

Apache Pig가 인기 있는 이유는 무엇입니까?

Apache Pig에는 모든 빅 데이터 전문가에게 필요한 많은 기능과 이점이 있습니다.

읽기: 빅 데이터와 Hadoop의 차이점

또한 데이터 분석을 위해 Java를 배울 필요가 없기 때문에 해당 언어 사용에 익숙하지 않은 프로그래머가 빠르게 선호하는 선택이 됩니다.

Apache Pig가 그토록 중요하고 인기 있는 몇 가지 이유 는 다음과 같습니다.

  • Java를 배우지 않고도 MapReduce를 사용하고 해당 작업을 수행할 수 있습니다.
  • Pig를 사용하면 더 적은 수의 코드로 기본 작업을 수행할 수 있습니다. MapReduce 작업을 수행하기 위해 Pig를 사용하는 경우 Pig를 사용하지 않을 경우 작성하는 것보다 20배 적은 코드 줄을 작성합니다.
  • Pig는 MapReduce 프로젝트에서 작업하는 동안 많은 시간을 절약합니다.
  • Join, Extract, Filters 등과 같은 광범위한 작업이 있습니다.
  • Pig는 Mapreduce에 없는 많은 데이터 유형을 모델에 가지고 있습니다. 여기에는 가방, 튜플 등이 포함됩니다.

이제 이것이 인기 있는 이유를 알았으므로 이제 Pig 및 기타 도구 및 언어와 관련하여 혼동을 일으키는 일반적인 원인에 초점을 맞춰야 합니다.

MapReduce와 Apache Pig의 차이점 - 2020 - 다른 사람

Apache Pig는 Hadoop의 MapReduce에 대한 추상화이지만 이들의 중첩 기능은 누구에게나 혼동을 줄 수 있습니다. 둘 다 MapReduce 작업 수행과 관련이 있습니다. 그러나 이러한 유사한 응용 프로그램에도 불구하고 둘 다 서로 완전히 다릅니다.

Pig와 MapReduce의 주요 차이점은 다음과 같습니다.

  • Apache Pig는 고급 데이터 흐름 언어입니다. 반면에 MapReduce는 단순히 데이터 처리를 위한 저수준 패러다임입니다.
  • MapReduce에 비해 Pig에서 Join 작업을 훨씬 원활하고 효율적으로 수행할 수 있습니다. 후자는 여러 데이터 세트의 조인 작업을 단순화하기 위한 많은 옵션이 없습니다.
  • Apache Pig를 사용할 때는 아무것도 컴파일할 필요가 없습니다. 모든 MapReduce 작업에는 상당한 컴파일 프로세스가 필요합니다.
  • Pig로 작업하려면 SQL에 대한 약간의(최소한 초급 수준) 지식이 필요합니다. 반면에 MapReduce를 사용하려면 Java에 익숙해야 합니다.
  • Pig는 다중 쿼리 기능을 가능하게 하여 매우 적은 수의 코드를 작성할 때 작업을 보다 효율적으로 만듭니다. MapReduce에는 이 기능이 없습니다. MapReduce에서 동일한 작업을 수행하려면 Pig와 비교하여 20배 더 많은 코드를 작성해야 합니다.

SQL과 Apache Pig의 차이점

초보 빅 데이터 전문가들 사이에 상당한 혼란은 SQL과 Apache Pig입니다. 그들은 둘 사이의 중요한 차이점을 모릅니다.

Apache Pig와 SQL의 차이점은 다음과 같습니다.

  • Apache Pig의 데이터 모델은 중첩 관계형이고 SQL의 데이터 모델은 평면 관계형입니다. 중첩 관계형 모델에는 원자 및 관계형 도메인이 있습니다. 플랫 관계형 모델 에는 값을 저장하기 위한 단일 테이블만 있습니다.
  • 스키마는 Apache Pig에서 선택 사항이지만 SQL에서는 필수입니다. 이것은 SQL로 할 수 없는 동안 스키마를 사용하지 않고 Apache Pig에 데이터를 저장할 수 있음을 의미합니다.
  • Pig에는 쿼리 최적화를 위한 많은 기능과 옵션이 없습니다. SQL에는 이와 관련하여 많은 옵션이 있습니다.
  • Apache Pig는 절차적 언어인 Pig Latin을 사용합니다. 반면에 SQL은 선언적 언어입니다. 따라서 Pig Latin이 필요한 작업을 실행하는 동안 SQL은 시스템이 수행해야 하는 작업을 설명하는 데 중점을 둡니다.
  • Apache Pig에서 Extract, Transform, Load 등의 ETL 기능을 수행할 수 있습니다. SQL에서는 그렇게 할 수 없습니다.
  • Pig를 사용하면 파이프라인의 모든 위치에 데이터를 저장할 수 있지만 SQL에는 이 기능이 없습니다.

하이브와 돼지의 차이점 - 2020 - 다른 사람

'벌집 vs 돼지'는 전문가들 사이에서 화제가 되고 있다. 일단 둘의 차이점을 알게 되면, 당신은 그 둘의 일부가 되지 않을 것입니다. 둘 다 하둡 생태계의 일부입니다. 둘 다 빅 데이터 프로젝트 작업에 필요하며 다른 Hadoop 구성 요소의 기능도 용이하게 합니다.

둘 사이의 혼동을 피하기 위해 다음 차이점을 읽어야 합니다.

  • Apache Pig는 절차적 프로그래밍 언어인 Pig Latin을 사용합니다. Hive는 SQL과 유사한 HiveQL이라는 선언적 언어를 사용합니다.
  • Pig는 반정형, 정형 및 비정형 데이터로 작업할 수 있습니다. Hive는 대부분의 경우 구조화된 데이터와 함께 작동합니다.
  • 프로그래밍에는 Pig를 사용하고 보고서 생성에는 Hive를 사용합니다.
  • Pig는 Hive가 지원하지 않는 Avro 파일 형식을 지원합니다.
  • Pig는 클러스터의 클라이언트 측에서 작동하는 반면 Hive는 동일한 서버 측에서 작동합니다.
  • Pig는 주로 프로그래머와 연구원 사이에서 응용 프로그램을 찾습니다. 반면 Hive는 데이터 분석가들 사이에서 애플리케이션을 찾습니다.

아파치 피그가 하는 일

Apache Pig는 데이터 분석을 위한 언어로 Pig Latin을 사용합니다. 데이터 처리에 사용하는 고급 언어이므로 학습에 약간의 추가 노력이 필요합니다.

그러나 작업을 수행하기 위한 연산자와 함께 많은 데이터 유형을 제공합니다. Pig를 사용하는 첫 번째 단계는 Pig 라틴 언어로 작성할 Pig 스크립트를 작성하는 것입니다.

그런 다음 작업을 실행하기 위해 다양한 실행 시스템 중 하나를 사용해야 합니다. Pig의 다양한 실행 옵션에는 Embedded, Grunt Shell 및 UDF가 있습니다.

그 후, Pig의 프레임워크는 출력 생성을 위한 요구 사항에 따라 스크립트를 변환합니다.

Apache Pig는 Pig 라틴 스크립트를 MapReduce 작업으로 변환합니다. 이렇게 하면 프로그래머로서의 작업이 훨씬 쉬워집니다.

아파치 피그 아키텍처

이제 Apache Pig가 하는 일과 수행 방법을 알았으므로 다양한 구성 요소에 집중해 보겠습니다. 앞서 언급했듯이 Pig 스크립트는 원하는 출력을 생성하기 위해 다양한 변형을 거칩니다. 이를 위해 Apache Pig에는 이러한 작업을 단계적으로 수행하는 다양한 구성 요소가 있습니다.

우리는 각 단계에 대해 개별적으로 논의할 것입니다.

첫 번째 단계: 파서

Parser는 데이터 분석의 초기 단계를 처리합니다. 스크립트에서 유형 검사 및 구문 검사를 포함한 다양한 검사를 수행합니다. 파서는 DAG(방향성 비순환 그래프)라고 하는 출력을 생성합니다.

DAG는 논리 연산자와 Pig Latin 문을 보여줍니다. 논리 연산자를 노드로 표시하고 데이터 흐름을 에지로 표시합니다.

두 번째 단계: 옵티마이저 및 컴파일러

파서는 Optimizer에 DAG를 제출합니다. Optimizer는 변환, 분할 등과 같은 활동을 포함하는 DAG의 논리적 최적화를 수행합니다.

생성된 데이터를 처리할 때 파이프라인의 데이터 양을 줄이는 여러 기능을 수행합니다. 데이터의 자동 최적화를 수행하고 PushUpFilter, MapKeyPruner, Group By 등의 기능을 사용합니다.

사용자로서 자동 최적화 기능을 종료할 수 있습니다. Optimizer 다음에는 결과 코드를 MapReduce 작업으로 컴파일하는 Compiler가 있습니다. 컴파일러는 Pig 스크립트를 MapReduce 작업으로 변환하는 작업을 처리합니다.

3단계: 실행 엔진

마지막으로 MapReduce 작업이 Hadoop으로 전송되는 실행 엔진이 제공됩니다. 그들이 그곳으로 전송되면 Hadoop은 필요한 결과를 제공합니다.

'DUMP' 문을 사용하여 데이터의 결과를 볼 수 있습니다. 마찬가지로, 출력을 HDFS(Hadoop의 핵심 구성 요소)에 저장하려면 'STORE' 문을 사용해야 합니다.

Apache Pig의 응용 프로그램

돼지의 주요 용도는 다음과 같습니다.

  • 온라인 스트리밍 데이터 및 웹로그와 같은 대규모 데이터 세트 처리용.
  • 검색 플랫폼의 데이터 처리용. Pig는 모든 데이터 유형을 처리할 수 있으므로 검색 플랫폼을 분석하는 데 매우 유용합니다.
  • 시간에 민감한 데이터 분석용. 여기에는 Twitter의 트윗과 같이 지속적으로 업데이트되는 데이터가 포함됩니다.

이에 대한 좋은 예는 Twitter의 특정 주제에 대한 트윗을 분석하는 것입니다. 특정 주제에 대한 고객 행동을 이해하고 싶을 수도 있습니다. 트윗에는 다양한 형태의 미디어가 포함되어 있습니다. 그리고 Pig는 필요한 결과를 얻기 위해 이를 분석하는 데 도움을 줄 수 있습니다.

돼지 튜토리얼: 여기서 어디로 갈까요?

Apache Pig는 의심할 여지 없이 Hadoop의 가장 중요한 영역 중 하나입니다. 배우기가 쉽지는 않지만 일단 익숙해지면 작업이 얼마나 간단해지는지 알게 될 것입니다.

하둡과 빅데이터에는 Pig 외에도 많은 영역이 있습니다.

아파치 피그, 데이터 과학에 대해 배우고 싶다면 일하는 전문가를 위해 만들어졌으며 10개 이상의 사례 연구 및 프로젝트, 실용적인 실습 워크샵, 업계 전문가와의 멘토링을 제공하는 IIIT-B & upGrad의 데이터 과학 PG 디플로마를 확인하십시오. , 업계 멘토와 1:1, 최고의 기업과 400시간 이상의 학습 및 취업 지원.

upGrad는 소프트웨어 개발 경력 여정에서 기술을 연마하고 성장을 촉진하기 위해 컴퓨터 공학 과정에서 고유한 이학 석사를 제공합니다.

지금 소프트웨어 개발 경력을 계획하십시오.

지금 소프트웨어 공학 석사 지원