最近测试UDF函数写个文档方便以后别人测试。
1.sudo yum install
例如要测试的UDF函数-GetValueFromSplit函数。
首先解释一下这个函数:
GetValueFromSplit (Text refer,Text index_String, at_lflog=, IntWritable index)
这个函数有四个参数。Text refer, Text index_String, Text split, IntWritable index。
从Text refer字段中,取出Text index_String字段,以Text split做为分隔,取分隔符的第index个字段。
比如:Text refer,
/search?t=53853&searchurl=http%3A%2F%2Fs.taobao.com%2Fsearch%3Fq%3D%25D2%25C6%25B6%25AF%25D3%25B2%25C5%25CC%25BA%25D0%26keyword%3D111%26commend%3Dall%26ssid%3Ds5-e%26search_type%3Ditem%26atype%3D%26tracelog%3D%26sourceId%3D21&at_lflog=1-1-0-0-1-29659-2-all&at_bucketid=2&at_alitrackid=www.taobao.com&price_interval=1;
Text index_String, 取at_lflog=
at_lflog= ,取-
IntWritable index,取5
GetValueFromSplit函数得到的值就是 29659
第二步:建表。
为了利用我们组现在用的测试框架:(我们都是测试开发写的脚本的),而现在测试的可能是一个jar包。所以我们要把测试的UDF函数的四个参数建表。(以前开发建表语句是给我们写好的,现在我们自己建一个表。)
a. 建表s_web_log_getvaluefromsplit里的字段,就是我们测试输入的UDF函数的四个参数。
b. 建表s_web_log_getvaluefromsplit_result里的字段,就是我们想得到的结果。
(为什么除了原来的四个字段外还多了一个name string,是因为,我们后面要把GetValueFromSplit函数得到的值放入name 段中。)
第三步:就是我们要测试的UDF函数脚本。
我们将要测试的getvaluefromsplit函数写入脚本getvaluefromsplit.sh,图中红框处。
第四步:既然建好表了,写好了要测试的UDF函数脚本,那我们就可以像以前测试一样,利用郑萼师姐写的框架test.sh,(I,o 分别为第二步建的表:s_web_log_getvaluefromsplit,s_web_log_getvaluefromsplit_result)生成common.php,与case.php了。
a.造好输入数据s_web_log_getvaluefromsplit.txt。
如:
b.在common.php中写好要调用的脚本。
第五步:运行你的./ca se.php吧,比较
result_s_web_log_getvaluefromsplit_result
expect_s_web_log_getvaluefromsplit_result.
- /home/hive/jar/taobao_udf-0.1.jar