खोज…


हाइव यूडीएफ निर्माण

UDF बनाने के लिए, हमें UDF ( org.apache.hadoop.hive.ql.exec.UDF ) वर्ग का विस्तार करने और मूल्यांकन पद्धति लागू करने की आवश्यकता है।

एक बार जब यूडीएफ का अनुपालन किया जाता है और जार का निर्माण होता है, तो हमें अस्थायी / स्थायी फ़ंक्शन बनाने के लिए जार को हाइव संदर्भ में जोड़ना होगा।

import org.apache.hadoop.hive.ql.exec.UDF;    

class UDFExample extends UDF {
  
  public String evaluate(String input) {
    
    return new String("Hello " + input);
  }
}

hive> ADD JAR <JAR NAME>.jar;
hive> CREATE TEMPORARY FUNCTION helloworld as 'package.name.UDFExample';
hive> select helloworld(name) from test;

दिए गए स्ट्रिंग को ट्रिम करने के लिए HD UDF करें।

package MyHiveUDFs;

import org.apache.commons.lang.StringUtils;
import org.apache.hadoop.hive.ql.exec.UDF;
import org.apache.hadoop.io.Text;

public class Strip extends UDF {

private Text result = new Text();
 public Text evaluate(Text str) {
 if(str == null) {
 return null;
 }
 result.set(StringUtils.strip(str.toString()));
 return result;
 }
}

ऊपर जार फ़ाइल में निर्यात करें

हाइव CLI पर जाएं और UDF JAR जोड़ें

hive> ADD jar /home/cloudera/Hive/hive_udf_trim.jar;

सत्यापित करें कि जार Hive CLI क्लासपाथ में है

hive> list jars;
/home/cloudera/Hive/hive_udf_trim.jar

अस्थायी कार्य बनाएँ

hive> CREATE TEMPORARY FUNCTION STRIP AS 'MyHiveUDFs.Strip';

यूडीएफ आउटपुट

 hive> select strip('   hiveUDF ') from dummy;
 OK
 hiveUDF


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow