基本常识
- Hive的UDF实现详解
-
默认存储与
/tmp/{user.name}
目录下 -
如果两个表格的维度不一样,将会插入错误
-
hive基本的操作语句(实例简单易懂,create table XX as select XX)
直接将select的结果存成表:
create table XX as select
-
Hive默认的分隔符是:\u0001,所以创建表格的时候需要根据实际情况修改一下。
-
实际使用时,和上述链接文章描述的原理差不多,但是是反过来的,就是当我创建一张表去关联Hdfs上文件时,文件中的\N,可能映射到表中会成为一条全null值的记录。
-
Hive默认分隔符是单字符,实际使用过程中,如果你的文件中列分隔符为’###‘,打算以之为分隔符,默认情况下,关联会异常的。
Debug
[ERROR] Terminal initialization failed;
falling back tounsupported
java.lang.IncompatibleClassChangeError:
Found class jline.Terminal,
but interface was expected ……
异常来源:因为在hadoop目录下存在老版本jline:
$HADOOP_HOME/share/hadoop/yarn/lib/jline-0.9.94.jar
解决方法:将hive下的新版本jline的JAR包拷贝到hadoop下:并将老版本jline删除。
2.Hive 使用RegexSerDe来处理标准格式Apache Web日志
往hive会话中加入
hive-contrib-*.jar
,该包位置在hive安装环境的lib目录下
3.使用 JDBC 连接 Hive(ClassNotFoundException、No suitable driver found、Could not open client transport wit)