我将使用Pig Latin来检索根据日期保存和组织的CSV文件。我希望自动化这个过程并获取昨天的数据。
以下是代码:
tempdate = CurrentTime();
-- P1D = period of 1 day in ISO format
yesterday = foreach tempdate generate SubtractDuration(tempdate,P1D);
$date = ToString(yesterday, "YYYY-MM-dd");
data = load 's3://folder/folder/$date' as(a: tuple()) ;
dump data;
但我一直收到这个错误:
[main]错误org.apache.pig.impl.PigContext - 遇到""在第1栏第5栏。
如果我尝试简单地加载数据:
A = LOAD 's3://folder/folder/date/file.csv' as (line: chararray);
dump A;
我收到此错误:
[main]错误org.apache.pig.impl.PigContext - 遇到" " =" " =""在第1栏第1栏。
您如何避免收到这些错误?
答案 0 :(得分:0)
首先,您的第一个脚本完全违反了应该如何实现Pig脚本。您无法在Python中指定变量,例如在Python中。但是你可以通过例如。通过将-param date="2015-03-25"
附加到Pig命令来按日期参数。如果您希望参数是动态的,则可以执行此操作。
-param date=`date -d "yesterday" '+%Y-%m-%d'
当我运行它时,第二个脚本对我有效。