Hive相关文章索引(1)

时间:2022-05-10 21:12:41

基本常识

  1. Hive的UDF实现详解
  2. hive 中日志的存放位置

    默认存储与 /tmp/{user.name}目录下

  3. Hive insert into语句用法

    如果两个表格的维度不一样,将会插入错误

  4. hive基本的操作语句(实例简单易懂,create table XX as select XX)

    直接将select的结果存成表:create table XX as select

  5. Hive命令学习

    Hive默认的分隔符是:\u0001,所以创建表格的时候需要根据实际情况修改一下。

  6. hive表中字段显示为NULL时,HDFS文件中存储为\N

    实际使用时,和上述链接文章描述的原理差不多,但是是反过来的,就是当我创建一张表去关联Hdfs上文件时,文件中的\N,可能映射到表中会成为一条全null值的记录。

  7. hive分隔符支持多个字符吗?

    Hive默认分隔符是单字符,实际使用过程中,如果你的文件中列分隔符为’###‘,打算以之为分隔符,默认情况下,关联会异常的。

  8. Hive部署UDF的四种方法

Debug

1.Hive 笔记异常

[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)

实战演练

用Hive分析nginx日志