【发布时间】:2015-11-11 17:35:07
【问题描述】:
我是 Hadoop 编程的新手,在 pig 中寻求帮助。我有来自simple.txt 格式的数据为, 分隔符。我有两个用例。我想在所有列上执行ltrim(rtrim()),然后针对选定字段转到UPPER。
这是我的脚本:
party = Load '/party_test_pig.txt' USING PigStorage(',') AS(....);
Trim_party = FOREACH Upper_party GENERATE TRIM(*);
Upper_party = FOREACH party GENERATE UPPER(col1), UPPER(col2), UPPER(col3);
Upper_party:大写后,我想查看所有列,而不仅仅是更改为大写的列。
Trim_party:做了一些研究并发现,要修剪所有列,我必须编写一个 UDF。我可以做Trim_party = FOREACH Upper_party GENERATE TRIM(col1)...TRIM(coln);,但我觉得这不是一种有效的方法并且很耗时。
有没有其他方法,我可以在不为 Trim 编写 UDF 的情况下使这个脚本工作?
提前致谢。
【问题讨论】:
标签: hadoop apache-pig trim uppercase udf