1、java.sql.SQLException: Column name pattern can not be NULL or empty.
在启动hive时,可能会遇到以下异常:
java.sql.SQLException: Column name pattern can not be NULL or empty.
错误产生的原因是因为使用了高版本的mysql驱动,一是可以降级mysql驱动,二是修改连接mysql的连接字符串。说一下第二种,修改conf/hive-site.xml中mysql连接字符串如下:
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://192.168.101.217:3306/hive?createDatabaseIfNotExist=true&useSSL=false&nullNamePatternMatchesAll=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
其中最重要的部分是:useSSL=false&nullNamePatternMatchesAll=true
2、如何设置hive作业日志debug级别输出?
会话内有效
hive -hiveconf hive.log.file=debug_hive_<date>.log -hiveconf hive.log.dir=/tmp/hivedebug/
-hiveconf hive.root.logger=DEBUG,DRFA # 日志输出到指定文件
hive -hiveconf hive.root.logger=DEBUG,console # 日志输出到控制台
永久生效
编辑 ${HIVE_HOME}/conf/hive-log4j.properties,设置:
hive.root.logger=DEBUG,console