Hive自定义UDF的JAR包加入运行环境的方法
生活随笔
收集整理的這篇文章主要介紹了
Hive自定义UDF的JAR包加入运行环境的方法
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
Hive開發(fā)udf函數(shù)打包jar文件后,需將jar文件放入hive的運行環(huán)境,方法有三。
先將http://blog.csdn.net/fjssharpsword/article/details/70265554中重定義的兩個類打包成DefTextInputFormat.jar,并放到/home/hdfs目錄下。
? ?Added resources: [/home/hdfs/DefTextInputFormat.jar]
? ? ROW FORMAT DELIMITED FIELDS TERMINATED BY '#' STORED AS INPUTFORMAT 'com.hive.DefTextInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' LOCATION'hdfs://nameservice-ha/pgw/gz';
? ?查詢后文件和表字段一致。
? ? ?
? ?<property>
? ? ? ?<name>hive.aux.jars.path</name>
? ? ? ?<value>file:///home/hdfs/fangjs/DefTextInputFormat.jar,file:///jarpath/test.jar</value>
? ?</property>
? ?該方法不需要每次啟動Hive執(zhí)行命令加入,需要配置文件。
3、根目錄${HIVE_HOME}下創(chuàng)建文件夾auxlib,然后將自定義jar文件放入該文件夾中;
? ?該方法方便快捷,不過對于客戶端操作環(huán)境就不能執(zhí)行。
先將http://blog.csdn.net/fjssharpsword/article/details/70265554中重定義的兩個類打包成DefTextInputFormat.jar,并放到/home/hdfs目錄下。
1、方法一:使用add jar命令
? ?1)在hive下執(zhí)行:add jar /home/hdfs/DefTextInputFormat.jar;
? ?Added [/home/hdfs/DefTextInputFormat.jar] to class path? ?Added resources: [/home/hdfs/DefTextInputFormat.jar]
? ?該方法每次啟動Hive的時候都要從新加入,退出hive就會失效。
? ? ROW FORMAT DELIMITED FIELDS TERMINATED BY '#' STORED AS INPUTFORMAT 'com.hive.DefTextInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' LOCATION'hdfs://nameservice-ha/pgw/gz';
? ?查詢后文件和表字段一致。
? ? ?
2、hive-site.xml文件配置hive.aux.jars.path:
? ?<property>
? ? ? ?<name>hive.aux.jars.path</name>
? ? ? ?<value>file:///home/hdfs/fangjs/DefTextInputFormat.jar,file:///jarpath/test.jar</value>
? ?</property>
? ?該方法不需要每次啟動Hive執(zhí)行命令加入,需要配置文件。
3、根目錄${HIVE_HOME}下創(chuàng)建文件夾auxlib,然后將自定義jar文件放入該文件夾中;
? ?該方法方便快捷,不過對于客戶端操作環(huán)境就不能執(zhí)行。
總結(jié)
以上是生活随笔為你收集整理的Hive自定义UDF的JAR包加入运行环境的方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: hive指定多个字符作为列分隔符的问题说
- 下一篇: 【正一专栏】爱是一种信仰