| 
					
				 | 
			
			
				@@ -0,0 +1,37 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+package com.alidata.odps.udtf.examples; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.aliyun.odps.udf.ExecutionContext; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.aliyun.odps.udf.UDFException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.aliyun.odps.udf.UDTF; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.aliyun.odps.udf.annotation.Resolve; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.huaban.analysis.jieba.JiebaSegmenter; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// TODO define input and output types, e.g. "string,string->string,bigint". 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@Resolve({"string,string->string,string"}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+public class jiebafenci extends UDTF { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void setup(ExecutionContext ctx) throws UDFException { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void process(Object[] args) throws UDFException { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // TODO 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String a = (String) args[0]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String content = (String) args[1]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        JiebaSegmenter segmenter = new JiebaSegmenter(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<String> result = segmenter.sentenceProcess(content); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (String t: result) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            forward(a, t); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void close() throws UDFException { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 |