Video: Why Are Your Fingerprints Unique? 2025
Hadoop là một hệ sinh thái phong phú và đang phát triển nhanh chóng với một loạt các ứng dụng mới đang phát triển. Thay vì cố gắng theo kịp mọi yêu cầu về khả năng mới, Pig được thiết kế để mở rộng thông qua các chức năng do người dùng định nghĩa , còn được gọi là UDF.
UDF có thể được viết bằng một số ngôn ngữ lập trình, bao gồm Java, Python và JavaScript. Các nhà phát triển cũng đang đăng và chia sẻ một bộ sưu tập các UDF đang phát triển trực tuyến. (Tìm Piggy Bank và DataFu, để chỉ ra hai ví dụ về các bộ sưu tập trực tuyến như vậy) Một số UDF Pig có trong các kho này là các hàm LOAD / STORE (ví dụ: XML), các hàm thời gian, văn bản, toán học, và chức năng thống kê.
Heo cũng có thể được nhúng trong các ngôn ngữ máy chủ như Java, Python và JavaScript, cho phép tích hợp Pig với các ứng dụng hiện có của bạn. Nó cũng giúp khắc phục những hạn chế trong ngôn ngữ lợn. Một trong những giới hạn được tham chiếu thường nhất là Pig không hỗ trợ các câu lệnh điều khiển: if / else, while loop, for loop, và condition statements.
Lợn hỗ trợ luồng dữ liệu, nhưng cần phải được nhúng trong một ngôn ngữ khác để cung cấp luồng điều khiển. Có sự cân bằng, tuy nhiên việc nhúng Pig vào một ngôn ngữ điều khiển dòng chảy. Ví dụ nếu câu lệnh Pig được nhúng vào trong một vòng lặp, mỗi khi vòng lặp lặp và chạy lệnh Pig, điều này sẽ làm cho một công việc MapReduce riêng biệt chạy.