Thứ Ba, 26 tháng 1, 2016

Big Data #16 – Tương tác với Hadoop – PIG là gì? – PIG Latin là gì?



Leave a comment
 
 
 
 
 
 
3 Votes

Yahoo bắt đầu làm việc với Pig cho các triển khai ứng dụng của họ trên Hadoop. Mục tiêu của Yahoo là quản lý dữ liệu không cấu trúc.
Pig là gì và Pig Latin là gì?

Pig là 1 nền tảng (platform) cấp cao để tạo các chương trình MapReduce được dùng với Hadoop và ngôn ngữ chúng ta dùng cho nền tảng này được gọi là PIG Latin. Pig được thiết kế để giúp Hadoop thân thiện với người dùng hơn và thích hợp hơn. PIG là 1 môi trờng thực thi tương tác hỗ trợ ngôn ngữ Pig Latin. Ngôn ngữ Pig Latin hỗ trợ nạp (load) và xử lý (process) dữ liệu đầu vào với 1 chuỗi các biến đổi (transform) để tạo ra kết quả mong muốn. PIG có 2 môi trường thực thi khác nhau 1) Local Mode – tất cả scripts chạy trên 1 máy đơn. 2) Hadoop – tất cả scripts chạy trên Hadoop Cluster.
Pig Latin vs SQL
Pig cơ bản tạo tập các job cho map và reduce dưới hoods. Pig cũng rất tương tự với SQL. Pig Latin cung cấp lớp trừu tượng trên dữ liệu. Nó tập trung vào dữ liệu thay vì cấu trúc dưới hood. Pig Latin là ngôn ngữ rất mạnh và nó có thể làm nhiều công việc khác nhau như nạp (load) và lưu trữ dữ liệu, streaming dữ liệu, filtering dữ liệu cũng như các hoạt động dữ liệu khác liên quan đến chuỗi. Điểm khác biệt chính giữa SQL và Pig Latin là PIG là thủ tục (procedural) và SQL là khai báo (declarative). Nói đơn giản, Pig Latin rất tương tự với SQL execution plan. Trong khi SQL xử lý cây (tree) tự nhiên, Pig Latin theo Directed Acyclic Graph (DAG). DAGs được dùng để mô hình hóa một số loại cấu trúc khác nhau trong toán học và khoa học máy tính.

0 nhận xét: