hive cli启动时初始化temporary function

用CREATE TEMPORARY FUNCTION 的函数,下次进入又要重新CERATE,很费劲。
 
发现hive -i <脚本文件>, 在启动时会执行脚本文件,正好能解决这个问题。
 
1.在${HIVE_HOME}下建一个sql目录,vi init.sql,内容为:
 
#要用到的jar
add jar /setup/hive/lib/mysql-connector-java-5.1.25-bin.jar;
add jar /setup/hive/lib/hive_contrib.jar;
add jar /setup/hive/lib/hive-contrib-0.9.0.jar;
 
#创建function
CREATE TEMPORARY FUNCTION dboutput AS 'org.apache.hadoop.hive.contrib.genericudf.example.GenericUDFDBOutput';
 
 
2.在sql目录下,执行   hive -i init.sql
 
hive> [root@master sql]# hive -i init.sql
WARNING: org.apache.hadoop.metrics.jvm.EventCounter is deprecated. Please use org.apache.hadoop.log.metrics.EventCounter in all the log4j.properties files.
Logging initialized using configuration in file:/setup/hive/conf/hive-log4j.properties
Hive history file=/tmp/root/hive_job_log_root_201309261546_1027834988.txt
hive> list jar;
/setup/hive/lib/hive-contrib-0.9.0.jar
/setup/hive/lib/hive_contrib.jar
/setup/hive/lib/mysql-connector-java-5.1.25-bin.jar
file:/setup/hive/lib/hive-builtins-0.9.0.jar
hive> show functions 'dboutput';
OK
dboutput
Time taken: 0.432 seconds

猜你喜欢

转载自jxauwxj.iteye.com/blog/1947669