2012-09-14 30 views
13

Tôi hiện đang gỡ lỗi tập lệnh lợn. Tôi muốn xác định một tuple trong tập tin Pig trực tiếp (thay vì chức năng "Load" cơ bản).Xác định dữ liệu tuple trong tập lệnh lợn

Có cách nào để làm điều đó không?

Tôi đang tìm kiếm một cái gì đó như thế:

A= ('name#bob'','age#29';'name#paul','age#12') 

Các bãi Sẽ trả lại:

('bob',29) 
('paul',12) 
+0

Nếu bạn đã tải một số dữ liệu, bạn có thể tạo các bộ dữ liệu bằng cách sử dụng TOTUPLE: http://pig.apache.org/docs/r0.10.0/func.html#totuple –

+2

Tôi chỉ muốn xác định một bộ tuple mà không cần sử dụng bất kỳ LOAD nào chức năng. –

+0

Bạn có thể xác định tham số trong tập lệnh lợn với '% declare' nhưng tôi không nghĩ bạn chỉ được phép tạo một số dữ liệu khi đang bay (không tải từ đĩa hdfs/local) –

Trả lời

4

Nó được trong thực tế impossibble để làm điều này trong lợn vì nó hiện đang đứng. Nếu bạn chỉ muốn gỡ lỗi tạo một tệp trong hadoop và tải nó. Viết dữ liệu bạn muốn vào tập tin (bất cứ điều gì bạn đã tạo ra bằng tay đã có nó được possibble) và tải nó lên. Sau đó tải nó bằng cách sử dụng lợn.

1

Bí quyết (dơ bẩn) sau đây thực hiện công việc: - tạo tệp Với một hàng trống, lưu trữ nó vào HDFS của bạn. - tải nó: Dòng = tải/người dùng/toto/onelinefile SỬ DỤNG .. - tạo dữ liệu riêng: dòng foreach tạo 'bob' làm tên, 22 là tuổi;

Các vấn đề liên quan