我正在嘗試以下操作。我有多個日期,我想創建一個豬腳本,它獲取未知數量的輸入日期,然後爲輸入參數運行豬腳本。我的問題是:拉丁豬日期
如何將未知數量的輸入變量發送到豬腳本,然後在豬腳本中處理它們?
感謝 薩拉
我正在嘗試以下操作。我有多個日期,我想創建一個豬腳本,它獲取未知數量的輸入日期,然後爲輸入參數運行豬腳本。我的問題是:拉丁豬日期
如何將未知數量的輸入變量發送到豬腳本,然後在豬腳本中處理它們?
感謝 薩拉
我有一些很難理解你真正想做的事。這將是我的解決方案>您的問題,發送數目不詳的日期(歸類爲chararray):
A = load 'input_dates' AS (date:chararray); B = my_macro(A);
這是很基本的,所以我想我沒有正確地理解您的問題。你可能會>更多地發展你的問題嗎?
UPDATE >>如何像這樣如果使用豬0.11(there 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()
。
其實我想加載多個文件的內容:像20120301 20120302 20120304 – 2013-02-13 23:53:11
如果我理解正確的問題,您想要加載文件或目錄的數量。您可以指定爲「,」作爲輸入。 下面是一個例子:
load.pig(內容):
A = LOAD '$input' using PigStorage();
dump A;
命令來運行(在本地運行):
pig -x local -param input=20120301,20120302,20120304 load.pig
igpay atinlay siay oolcay !! – 2013-02-11 08:40:14