2013-02-11 107 views
1

我正在嘗試以下操作。我有多個日期,我想創建一個豬腳本,它獲取未知數量的輸入日期,然後爲輸入參數運行豬腳本。我的問題是:拉丁豬日期

如何將未知數量的輸入變量發送到豬腳本,然後在豬腳本中處理它們?

感謝 薩拉

+0

igpay atinlay siay oolcay !! – 2013-02-11 08:40:14

回答

0

我有一些很難理解你真正想做的事。這將是我的解決方案>您的問題,發送數目不詳的日期(歸類爲chararray):

A = load 'input_dates' AS (date:chararray); 
B = my_macro(A); 

這是很基本的,所以我想我沒有正確地理解您的問題。你可能會>更多地發展你的問題嗎?

UPDATE >>如何像這樣如果使用豬0.11there is a bug until 0.10 for module imports):

#!/usr/bin/python 
import os 

from org.apache.pig.scripting import * 

P = Pig.compile(""" 
data = LOAD '$docs_in' AS (a:int); 
-- do something 
""") 

lof = os.listdir("/home/.../dates/") 
params = [] 

for elem in lof: 
    params.append({'docs_in': str(elem)}) 
    lof.remove(elem) 

bound = P.bind(list_of_files) 
stats = bound.run(params) 

如果每次運行時對前一個的結果計算,使用代替runSingle()

+0

其實我想加載多個文件的內容:像20120301 20120302 20120304 – 2013-02-13 23:53:11

-1

如果我理解正確的問題,您想要加載文件或目錄的數量。您可以指定爲「,」作爲輸入。 下面是一個例子:

load.pig(內容):

A = LOAD '$input' using PigStorage(); 
dump A; 

命令來運行(在本地運行):

pig -x local -param input=20120301,20120302,20120304 load.pig