REGISTER '/usr/local/piggybank.jar';
maindata = LOAD '/user/pig/storm/StormEvents_details-ftp_v1.0_d1950_c20170120.csv' using org.apache.pig.piggybank.storage.CSVExcelStorage(',','NO_MULTILINE','UNIX','SKIP_INPUT_HEADER');
B = foreach maindata generate (int)$20 as INJURIES_DIRECT,(int)$21 as INJURIES_INDIRECT,(int)$22 as DEATHS_DIRECT,(int)$23 as DEATHS_INDIRECT,(chararray)$24 as DAMAGE_PROPERTY,(int)$10 as YEAR,(chararray)$11 as MONTH_NAME,(int)$0 as BEGIN_YEARMONTH;
k = foreach B generate org.apache.pig.piggybank.evaluation.string.LENGTH(DAMAGE_PROPERTY) as len;
因此,如果您可以在这些代码中看到,您必须包含字段来代替属性。所以我们问题的解决办法是,
org.apache.pig.piggybank.evaluation.string.LENGTH(DAMAGE_PROPERTY) as len;
对于substring,你可以做这样的代码,你可以相应地改变它,你的字符串名,
substringdata = foreach B generate SUBSTRING(DAMAGE_PROPERTY,0,org.apache.pig.piggybank.evaluation.string.LENGTH(DAMAGE_PROPERTY)-1) as substr;
4条答案
按热度按时间9njqaruj1#
SIZE()
内部调用的函数String.length()
所以在你的情况下(正如弗雷德里克所说):v1l68za42#
早些时候提供的答复对我不适用。有效的方法是:
注意
int
演员阵容。ct2axkht3#
我也犯了同样的错误。经过近一天的尝试,我找到了解决方案,解决方案是,你应该做以下代码,
因此,如果您可以在这些代码中看到,您必须包含字段来代替属性。所以我们问题的解决办法是,
对于substring,你可以做这样的代码,你可以相应地改变它,你的字符串名,
我认为应该解决这个问题。
j13ufse24#
你可以用这个尺寸。
子字符串(除法,4,大小(除法))