Apache Pig là gì?

Bạn đang thắc mắc không biết Apache Pig là gì? Apache Pig có cấu trúc như thế nào hay có tác dụng ra sao ?hôm nay blogtiendientu sẽ giải đáp những thắc mắc này cho bạn giúp bạn hiểu rõ hơn được những khái niệm này.

Apache Pig là gì?
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ì?
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.

Cấu trúc pig
Cấu trúc pig

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)

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

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
apache pig

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

pig hadoop
pig hadoop

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

pig apache
pig apache

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

pig là gì
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

pig mapreduce
pig mapreduce

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
hadoop pig

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

apche pig
apche pig

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 example
apache pig example

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

pig -help

pig in hadoop
pig in hadoop

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 /

Tập lệnh pig mẫu
Tập lệnh pig mẫu

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ì
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
apache pig

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

pig hadoop
pig hadoop

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

pig apache
pig apache

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.

site:blogtiendientu.vn
site:blogtiendientu.vn

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

GroupByCountry = GROUP salesTable BY Country;

pig là gì
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.

pig mapreduce
pig mapreduce

– 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’);

hadoop pig
hadoop pig

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

apche pig
apche pig

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 example
apache pig example

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ì
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
apache pig

Mở  part-r-00000

pig hadoop
pig hadoop

Trên đây là những giải đáp thắc mắc cho vấn đề apache pig là gì ? nếu còn điều gì thắc mắc thì bạn đừng ngần ngại hãy để lại ý kiến của mình dưới phần bình luận của bài viết để chúng tôi có thể giải đáp giúp bạn.

Video giải đáp Apache Pig là gì?

Đánh Giá apache pig

Đánh Giá - 9.8

9.8

100

Bài viết giả đáp apache pig là gì rất đầy đủ và chi tiết !

User Rating: 4.4 ( 1 votes)
Back to top button