基本常识
默认存储与
/tmp/{user.name}
目录下
如果两个表格的维度不一样,将会插入错误
直接将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删除。
往hive会话中加入
hive-contrib-*.jar
,该包位置在hive安装环境的lib目录下
- 使用 JDBC 连接 Hive(ClassNotFoundException、No suitable driver found、Could not open client transport wit)
网友评论