Tech

Apache Pig là gì?

Apache Pig là gì?

Pig là một ngôn ngữ lập trình cấp cao hữu ích để phân tích các tập dữ liệu pig. Pig là kết quả của nỗ lực phát triển tại Yahoo!

Trong khung công tác MapReduce, các chương trình cần được dịch thành một loạt các giai đoạn Bản đồ và Rút gọn. Tuy nhiên, đây không phải là một mô hình lập trình mà các nhà phân tích dữ liệu quen thuộc. Vì vậy, để thu hẹp khoảng cách này, một trừu tượng gọi là Pig đã được xây dựng trên đỉnh Hadoop.

Apache Pig cho phép mọi người tập trung hơn vào  việc phân tích các tập dữ liệu hàng loạt và dành ít thời gian hơn cho việc viết các chương trình MapReduce. Tương tự như pig, kẻ ăn bất cứ thứ gì, ngôn ngữ lập trình Apache Pig được thiết kế để hoạt động dựa trên bất kỳ loại dữ liệu nào. Đó là lý do tại sao cái tên, Pig!

Apache Pig là gì?

Đó là lý do tại sao cái tên, Pig!

Cấu trúc pig

cấu trúc của Pig bao gồm hai thành phần:

  1. Pig Latin,  là một ngôn ngữ
  2. Một môi trường Runtime,  để chạy các chương trình PigLatin.

Chương trình Pig Latin bao gồm một loạt các phép toán hoặc phép biến đổi được áp dụng cho dữ liệu đầu vào để tạo ra đầu ra. Các hoạt động này mô tả một luồng dữ liệu được dịch thành một biểu diễn thực thi, bởi môi trường thực thi Hadoop Pig. Bên dưới, kết quả của những chuyển đổi này là một loạt các công việc MapReduce mà một lập trình viên không hề hay biết. Vì vậy, theo một cách nào đó, Pig in Hadoop cho phép lập trình viên tập trung vào dữ liệu hơn là bản chất của việc thực thi.

PigLatin là một ngôn ngữ tương đối cứng nhắc sử dụng các từ khóa quen thuộc từ quá trình xử lý dữ liệu, ví dụ: Tham gia, Nhóm và Bộ lọc.

Hadoop PIG Tutorial: Giới thiệu, Cài đặt & Ví dụ

cấu trúc PIG

Chế độ thực thi:

Pig in Hadoop có hai chế độ thực thi:

  1. Chế độ cục bộ: Trong chế độ này, ngôn ngữ Hadoop Pig chạy trong một JVM duy nhất và sử dụng hệ thống tệp cục bộ. Chế độ này chỉ thích hợp để phân tích các tập dữ liệu nhỏ bằng Pig trong Hadoop
  2. Chế độ Map Reduce: Trong chế độ này, các truy vấn được viết bằng Pig Latin được dịch thành các công việc MapReduce và được chạy trên một cụm Hadoop (cụm có thể là giả hoặc được phân phối đầy đủ). Chế độ MapReduce với cụm được phân phối đầy đủ rất hữu ích khi chạy Pig trên các tập dữ liệu pig.

Cách tải xuống và cài đặt Pig

Bây giờ trong hướng dẫn Apache Pig này, chúng ta sẽ học cách tải xuống và cài đặt Pig:

Trước khi chúng tôi bắt đầu với quy trình thực tế, hãy đảm bảo bạn đã cài đặt Hadoop. Thay đổi người dùng thành ‘hduser’ (id được sử dụng trong khi cấu hình Hadoop, bạn có thể chuyển sang userid được sử dụng trong quá trình cấu hình Hadoop của mình)

Apache Pig là gì?

Bước 1)  Tải xuống bản phát hành mới nhất ổn định của Pig Hadoop từ bất kỳ trang web phản chiếu nào có sẵn tại

http://pig.apache.org/releases.html

Apache Pig là gì?

Chọn   tệp tar.gz  (chứ không phải  src.tar.gz) để tải xuống.

Bước 2)  Sau khi quá trình tải xuống hoàn tất, hãy điều hướng đến thư mục chứa tệp tar đã tải xuống và di chuyển tệp tar đến vị trí bạn muốn thiết lập Pig Hadoop. Trong trường hợp này, chúng tôi sẽ chuyển đến / usr / local

Apache Pig là gì?

Di chuyển đến thư mục chứa tệp Pig Hadoop

cd / usr / local

Trích xuất nội dung của tệp tar như bên dưới

sudo tar -xvf pig-0.12.1.tar.gz

Apache Pig là gì?

Bước 3).  Sửa đổi  ~ / .bashrc  để thêm các biến môi trường liên quan đến Pig

Mở   tệp ~ / .bashrc trong bất kỳ trình soạn thảo văn bản nào bạn chọn và thực hiện các sửa đổi bên dưới-

export PIG_HOME = <Installation directory of Pig> 

export PATH = $ PIG_HOME / bin: $ HADOOP_HOME / bin: $ PATH

Apache Pig là gì?

Bước 4)  Bây giờ, tạo nguồn cấu hình môi trường này bằng lệnh dưới đây

. ~ / .bashrc

Apache Pig là gì?

Bước 5)  Chúng tôi cần biên dịch lại  PIG  để hỗ trợ  Hadoop 2.2.0

Đây là các bước để làm điều này-

Đi tới thư mục chính của PIG

cd $ PIG_HOME

Cài đặt Ant

sudo apt-get install ant

Hadoop PIG Tutorial: Giới thiệu, Cài đặt & Ví dụ

Lưu ý: Quá trình tải xuống sẽ bắt đầu và sẽ tiêu tốn thời gian theo tốc độ internet của bạn.

Biên dịch lại PIG

sudo ant clean jar-all -Dhadoopversion = 23

Apache Pig là gì?

Xin lưu ý rằng trong quá trình biên dịch lại này, nhiều thành phần được tải xuống. Vì vậy, một hệ thống nên được kết nối với internet.

Ngoài ra, trong trường hợp quá trình này bị kẹt ở đâu đó và bạn không thấy bất kỳ chuyển động nào trên dấu nhắc lệnh trong hơn 20 phút, hãy nhấn  Ctrl + c  và chạy lại lệnh tương tự.

Trong trường hợp của chúng tôi, phải mất 20 phút

Apache Pig là gì?

Bước  6)  Kiểm tra  cài đặt Pig bằng lệnh

pig -help

Apache Pig là gì?

Tập lệnh pig mẫu

Chúng tôi sẽ sử dụng Tập lệnh Con pig để tìm Số lượng Sản phẩm Được Bán ở Mỗi Quốc gia.

Dữ liệu đầu vào: Tập  dữ liệu đầu vào của chúng tôi là tệp CSV, SalesJan2009.csv

Bước  1)  Khởi động Hadoop

$ HADOOP_HOME / sbin / start-dfs.sh

$ HADOOP_HOME / sbin / start-yarn.sh

Bước  2)  Pig in Big Data lấy một tệp từ HDFS ở chế độ MapReduce và lưu trữ kết quả trở lại HDFS.

Sao chép tệp  SalesJan2009.csv  (được lưu trữ trên hệ thống tệp cục bộ,  ~ / input / SalesJan2009.csv ) sang Thư mục chính HDFS (Hệ thống tệp phân tán Hadoop)

Ở đây trong ví dụ về Apache Pig này, tệp nằm trong mục nhập Thư mục. Nếu tệp được lưu trữ ở một số vị trí khác, hãy đặt tên đó

$ HADOOP_HOME / bin / hdfs dfs -copyFromLocal ~ / input / SalesJan2009.csv /

Apache Pig là gì?

Xác minh xem tệp có thực sự được sao chép hay không.

$ HADOOP_HOME / bin / hdfs dfs -ls /

Apache Pig là gì?

Bước 3) Cấu hình pig

Đầu tiên, điều hướng đến $ PIG_HOME / conf

cd $ PIG_HOME / conf

sudo cp pig.properties pig.properties.original

Apache Pig là gì?

Mở  pig.properties  bằng cách sử dụng trình soạn thảo văn bản mà bạn chọn và chỉ định đường dẫn tệp nhật ký bằng  pig.logfile

sudo gedit pig.properties

Apache Pig là gì?

Loger sẽ sử dụng tệp này để ghi lại lỗi.

Bước 4) Chạy lệnh ‘pig’ sẽ bắt đầu dấu nhắc lệnh Pig, là một truy vấn tương tác của Pig.

pig

Apache Pig là gì?

Bước 5) Trong dấu nhắc lệnh Grunt cho Pig, thực hiện các lệnh dưới đây của Pig theo thứ tự.

– A. Nạp tệp chứa dữ liệu.

salesTable = LOAD ‘/SalesJan2009.csv’ USING PigStorage(‘,’) AS (Transaction_date:chararray,Product:chararray,Price:chararray,Payment_Type:chararray,Name:chararray,City:chararray,State:chararray,Country:chararray,Account_Created:chararray,Last_Login:chararray,Latitude:chararray,Longitude:chararray);

Nhấn Enter sau lệnh này.

Apache Pig là gì?

– B. Nhóm dữ liệu theo trường Quốc gia

GroupByCountry = GROUP salesTable BY Country;

Apache Pig là gì?

– C. Đối với mỗi bộ trong  ‘GroupByCountry’ , tạo chuỗi kết quả của biểu mẫu-> Tên quốc gia: Số lượng sản phẩm đã bán

CountByCountry = FOREACH GroupByCountry GENERATE CONCAT ((chararray) $ 0, CONCAT (‘:’, (chararray) COUNT ($ 1)));

Nhấn Enter sau lệnh này.

Apache Pig là gì?

– D. Lưu trữ kết quả của Luồng dữ liệu trong thư mục  ‘pig_output_sales’  trên HDFS

STORE CountByCountry INTO ‘pig_output_sales’ SỬ DỤNG PigStorage (‘\ t’);

Apache Pig là gì?

Lệnh này sẽ mất một khoảng thời gian để thực thi. Sau khi hoàn tất, bạn sẽ thấy màn hình sau

Apache Pig là gì?

Bước 6) Kết quả có thể được nhìn thấy thông qua giao diện lệnh như,

$ HADOOP_HOME / bin / hdfs dfs -cat pig_output_sales / part-r-00000

Apache Pig là gì?

Kết quả cũng có thể được nhìn thấy qua giao diện web như-

Kết quả thông qua giao diện web-

Mở  http: // localhost: 50070 /  trong trình duyệt web.

Apache Pig là gì?

Bây giờ hãy chọn  ‘Duyệt qua hệ thống tệp’  và điều hướng đến  / người dùng / hduser / pig_output_sales

Apache Pig là gì?

Mở  part-r-00000

Apache Pig là gì?

Check Also
Close
Back to top button
You cannot copy content of this page