돼지에 대한 심층 분석



이 블로그 게시물은 Pig와 그 기능에 대해 자세히 설명합니다. Java에 의존하지 않고 Pig를 사용하여 Hadoop에서 작업하는 방법에 대한 데모를 찾을 수 있습니다.

최근에 Hadoop의 인기가 급증한 가장 큰 이유 중 하나는 Pig 및 Hive와 같은 기능이 그 위에 실행되어 이전에는 Java 프로그래머 전용 기능을 가진 비 프로그래머를 허용한다는 사실입니다. 이러한 기능은 Hadoop 전문가에 대한 수요 증가의 결과였습니다. Java가 아닌 배경의 Hadoop 전문가가 사용하는 다른 기능은 Flume, Sqoop, HBase 및 Oozie입니다.





Hadoop을 배우기 위해 Java가 필요하지 않은 이유를 이해하려면 다음을 확인하십시오. 이 블로그 .

1 돼지 역사



이러한 기능이 어떻게 작동하는지 이해하겠습니다.

우리 모두는 프로그래밍 지식이 MapReduce 코드 작성에 필수적이라는 것을 알고 있습니다. 하지만 세부 정보 만 제공하면 코딩을 수행 할 수있는 도구가 있다면 어떨까요? 돼지가 근력을 발휘하는 곳입니다. Pig는 Java MapReduce 관용구에서 프로그래밍을 표기법으로 추상화하는 Pig Latin이라는 플랫폼을 사용하여 RDBMS 시스템 용 SQL과 유사한 MapReduce 프로그래밍을 높은 수준으로 만듭니다. Pig Latin MapReduce로 작성된 코드는 자동으로 동등한 MapReduce 함수로 변환됩니다. 대단하지 않나요? 또 다른 놀라운 사실은 200 줄의 Java를 대체하는 데 Pig 10 줄만 필요하다는 것입니다.



Pig 10 줄 = Java 200 줄

이는 자바 전문가가 아닌 전문가가 Hadoop을 사용한다는 것을 의미 할뿐만 아니라 동일한 수의 기술 개발자가 Pig를 사용하고 있다는 사실을 입증합니다.

또한 자신 만의 MapReduce 코드를 작성하려는 경우 Perl, Python, Ruby 또는 C와 같은 언어로이를 수행 할 수 있습니다. Pig를 사용하여 모든 데이터 세트에서 수행 할 수있는 몇 가지 기본 작업은 Group, Join, Filter 및 Sort입니다. . 이러한 작업은 구조화, 비 구조화 및 반 구조화 데이터에 대해 수행 할 수 있습니다. 매우 큰 데이터 세트에서 MapReduce 작업을 생성하고 실행할 수있는 임시 방법을 제공합니다.

다음으로 Hive를 이해하겠습니다. 데이터 요약, 쿼리 및 분석을 위해 Hadoop을 기반으로하는 오픈 소스 페타 바이트 규모의 데이터웨어 하우징 프레임 워크입니다. Hive는 Hadoop을위한 SQL과 유사한 인터페이스를 제공합니다. Hive를 사용하여 Hadoop에서 파일을 읽고 쓰고 BI 도구에서 보고서를 실행할 수 있습니다. Hadoop의 몇 가지 일반적인 기능은 다음과 같습니다.

자바에서 트림하는 방법

클릭 스트림 데이터 세트에서 Pig를 사용한 데모를 보여 드리겠습니다.
이 클릭 스트림 데이터를 사용하고 변환, 조인 및 그룹화를 수행합니다.

ClickStream은 특히 마케팅 목적으로 개인의 관심사를 평가하기 위해 모니터링되는 인터넷에 액세스하는 동안 사용자가 수행하는 일련의 마우스 클릭입니다. 추천을 생성하기 위해 활동을 추적하는 Flipkart 및 Amazon과 같은 온라인 소매 웹 사이트에서 주로 사용됩니다. 우리가 사용한 Clickstream 데이터 세트에는 다음 필드가 있습니다.

1. 웹 애플리케이션에서 지원하는 언어 유형

2. 브라우저 유형

3. 연결 유형

4. 국가 ID

5. 타임 스탬프

6. URL

7. 사용자 상태

8. 사용자 유형

적절한 필드가 있으면 다음과 같이 표시됩니다.

is-a 관계 자바

다음은 특정 웹 사이트에서 서핑 할 때 다양한 사람들이 사용하는 브라우저 유형 목록입니다. 목록에는 Internet Explorer, Google Chrome, Lynx 등과 같은 브라우저가 있습니다.

인터넷 연결 유형은 LAN / 모뎀 / 와이파이 일 수 있습니다. 전체 목록은 아래 이미지를 참조하십시오.

다음 이미지에서 웹 사이트가 ID와 함께 잠재 고객을 끌어들이는 국가 목록을 찾을 수 있습니다.

모든 데이터 세트를 수집 한 후에는 Pig 명령을 실행하기 위해 실행되는 Pig의 Grunt 셸을 시작해야합니다.

Grunt 셸을 시작할 때 가장 먼저해야 할 일은 Clickstream 데이터를 Pig의 관계에로드하는 것입니다. 관계는 테이블에 불과합니다. 다음은 HDFS에있는 파일을 Pig의 관계에로드하는 데 사용하는 명령입니다.

describe click_stream 명령으로 관계의 스키마를 확인할 수 있습니다.

이제 ID가있는 국가 목록 및 ID와 함께 다른 브라우저 유형에 대한 세부 정보를 포함 할 참조 파일을 추가해야합니다.

이제 두 개의 참조 파일이 있지만 관계를 형성하려면 연결해야합니다.
연결 유형을 표시하기 위해 connection_ref 명령을 실행합니다.

sqlite에 db 브라우저를 사용하는 방법

이제 연결이 작동하고 관계가 설정되었으므로 해당 데이터를 변환 할 수있는 방법을 보여 드리겠습니다.
Clickstream의 각 레코드에 대해 다른 형식, 즉 변환 된 데이터로 새 레코드를 생성합니다. 새로운 형식에는 타임 스탬프, 브라우저 유형, 국가 ID 등과 같은 필드가 포함됩니다.

필터 작업을 수행하여 빅 데이터를 줄일 수 있습니다. 다른 유형의 사용자는 관리자, 게스트 또는 봇입니다. 데모에서는 게스트 목록을 필터링했습니다.

기억 하시나요? 국가 ID는 클릭 스트림에 있으며 국가 이름과 ID가 포함 된 country_ref 파일을로드했습니다. 따라서 두 파일간에 조인 작업을 수행하고 데이터를 병합하여 통찰력을 얻을 수 있습니다.

데이터를 결합하면 그룹화를 통해 사용자가있는 다른 국가를 찾을 수 있습니다. 이 데이터가 있으면 Count 작업을 수행하여 특정 국가의 사용자 수를 식별 할 수 있습니다.

빅 데이터에서 통찰력을 도출하는 것은 로켓 과학이 아닙니다. 이것들은 내가 구현 한 많은 기능 중 일부에 불과하며 Hive, Hbase, Oozie, Sqoop 및 Flume과 같은 도구를 사용하면 아직 탐색하지 않은 데이터의 보물이 있습니다. 따라서 Hadoop을 배우지 않으려는 분들은 이제 변화 할 때입니다.

질문이 있으십니까? 댓글 섹션에 언급 해 주시면 다시 연락 드리겠습니다.

관련 게시물:

R과 Hadoop을 함께 사용하는 4 가지 방법

Apache Hadoop 용 Cloudera 인증 개발자에 대한 모든 것