我如何编写 UDF 以将第二列转换为大写
Posted
技术标签:
【中文标题】我如何编写 UDF 以将第二列转换为大写【英文标题】:how can i write UDF to convert second column in upper case 【发布时间】:2015-09-10 10:16:36 【问题描述】: package com.hadoopexpert;
import java.io.IOException;
import org.apache.pig.EvalFunc;
import org.apache.pig.data.Tuple;
public class upper extends EvalFunc<String>
public String exec(Tuple input) throws IOException
if (input == null || input.size() == 0)
return null;
try
String str = (String)input.get(0);
return str.toUpperCase(); catch(Exception e)
throw new IOException("Caught exception processing input row ", e);
我想将下面 i/p 文件的第二列转换为大写,这是正确的代码吗? 输入文件- 101,艾哈迈德 102,克兰蒂 103,萨格尔 第104章
【问题讨论】:
【参考方案1】:不,您的索引是错误的。 (String)input.get(0)
获取第一列。 (String)input.get(1)
将为您提供第二列。
顺便说一句,您可以使用 Pig 提供的 UDF 调用 UPPER 将字符串大写。
【讨论】:
以上是关于我如何编写 UDF 以将第二列转换为大写的主要内容,如果未能解决你的问题,请参考以下文章