`
superlxw1234
  • 浏览: 543024 次
  • 性别: Icon_minigender_1
  • 来自: 西安
博客专栏
Bd1c0a0c-379a-31a8-a3b1-e6401e2f1523
Hive入门
浏览量:43329
社区版块
存档分类
最新评论

hive中一些实用的小技巧

    博客分类:
  • hive
阅读更多

1. 忽略错误,继续执行下面的语句,特别是在使用hive -f "xxx.sql"时候比较实用:

 

    hive --hiveconf hive.cli.errors.ignore=true -f "xxx.sql"

 

2. 虚拟列:

    INPUT__FILE__NAME(输入文件的路径)

    BLOCK__OFFSET__INSIDE__FILE(记录在文件中的偏移量)

 

    select id,INPUT__FILE__NAME,BLOCK__OFFSET__INSIDE__FILE from lxw_test3 limit 10;

 

 

3. select结果中显示列名:

    set hive.cli.print.header=true;

    注意在hive0.7中这个参数有bug,在设置为true之后使用use来切换database,就会触发这个bug

 

 

 

Exception in thread "main" java.lang.NullPointerException
        at org.apache.hadoop.hive.cli.NewCliDriver.processCmd(NewCliDriver.java:178)
        at org.apache.hadoop.hive.cli.NewCliDriver.processLine(NewCliDriver.java:243)
        at org.apache.hadoop.hive.cli.NewCliDriver.main(NewCliDriver.java:469)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:186)

 

4. 判断一个字段是否全数字:

 

select mobile from woa_login_log_his where pt = '2012-01-10' and mobile rlike '^\\d+$' limit 50;
 

 

5. hive中最高精度的数据类型是double,只精确到小数点后16位,在做除法运算的时候要特别注意:

 

 

select ceil(28.0/6.999999999999999999999) from t_lxw_test1 limit 1;    结果为4
select ceil(28.0/6.99999999999999) from t_lxw_test1 limit 1;           结果为5
 

 

6. 查看N天前的日期:

 

select from_unixtime(unix_timestamp('20111102','yyyyMMdd') - N*86400,'yyyyMMdd') from t_lxw_test1 limit 1;
 

 

7. 获取两个日期之间的天数/秒数/分钟数等等:

 

select ( unix_timestamp('2011-11-02','yyyy-MM-dd')-unix_timestamp('2011-11-01','yyyy-MM-dd') ) / 86400  from t_lxw_test limit 1;
 

 

 

不定期更新中。。。。。

 

 

分享到:
评论

相关推荐

    hive

    hive hive hive hive hive hive hive hive hive hive hive hive

    Hive中SQL详解

    Hive中SQL详解

    Apache Hive 中文手册_hive_

    Apache Hive 是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供...

    hive的一些报错及解决方法

    hive的一些报错及解决方法:连接报错、执行脚本卡住、内存溢出报错、表死锁问题

    Hive内部表合并小文件Java程序

    Hive内部表合并小文件Java程序

    hive修改过的jdbc包,用于显示hive中的中文内容

    如果系统语言不是utf-8的话,通过jdbc调用hive的数据时,中文会是乱码,通过修改jdbc包加上utf8标识后就好了,这个是改好了的包

    部分普通sql查询在hive中的实现方式

    部分普通sql查询在hive中的实现方式详细说明;

    hive编程指南中文

    《Hive编程指南》是一本Apache Hive的编程指南 旨在介绍如何使用Hive的SQL方法 HiveQL来汇总 查询和分析存储在Hadoop分布式文件系统上的大数据集合 全书通过大量的实例 首先介绍如何在用户环境下安装和配置Hive 并对...

    关于hive的一些笔记和例子

    这时一个关于hive的文档类。主要内容包括一些安装以及一些例子

    利用Hive进行复杂用户行为大数据分析及优化案例

    04_HIve中的case when、cast及unix_timestamp的使用 05_复杂日志分析-需求分析 06_复杂日志分析-需求字段讲解及过滤 07_复杂日志分析-字段提取及临时表的创建 08_复杂日志分析-指标结果的分析实现 09_Hive中数据文件...

    大数据之Hive官方文档简要翻译(中文文档)

    将官方文档做了简要翻译 ...元数据使用JPOX ORM解决方案(Data Nucleus)持久化,因此它支持的任何数据库都可以被Hive使用。大多数商业关 系数据库和许多开源数据库都受到支持。请参阅下面一节中支持的数据库列表。

    hive-jdbc hive jdbc驱动

    hive-jdbc

    Hive3.1.2编译源码

    使用hive3.1.2和spark3.0.0配置hive on spark的时候,发现官方下载的hive3.1.2和spark3.0.0不兼容,hive3.1.2对应的版本是spark2.3.0,而spark3.0.0对应的hadoop版本是hadoop2.6或hadoop2.7。 所以,如果想要使用高...

    Hive使用手册Hive使用手册

    1 Hive 概念与连接使用: 2 2 Hive支持的数据类型: 2 2.1原子数据类型: 2 2.2复杂数据类型: 2 2.3 Hive类型转换: 3 3 Hive创建/删除数据库 3 3.1创建数据库: 3 3.2 删除数据库: 3 4 Hive 表相关语句 3 4.1 Hive ...

    Hive表生成工具,Hive表生成工具Hive表生成工具

    Hive表生成工具,Hive表生成工具Hive表生成工具

    flume、hive和sqoop的实用案例

    flume、hive和sqoop的实用案例:flume收集日志hive负责处理数据sqoop负责将数据导出到mysql中供页面展示

    Hive总结.docx

    Hive原理/Hive SQL/Hive 函数/数据仓库分层和建模/Hive sql优化/数据倾斜

    Hive用户指南(Hive_user_guide)_中文版.pdf

    因此, Hive 中不支持对数据的改写和添加,所有的数据都是在加载的时候中确定好的。 而数据库中的数据通常是需要经常进行修改的,因此可以使用 INSERT INTO ... VALUES 添加数据,使用 UPDATE ... SET 修改数据。 ...

    hive-3.1.1安装包

    Hive是一个基于Hadoop的数据仓库工具,它本身并不存储数据,部署在...Hive也不提供资源调度系统,默认由Hadoop集群中的YARN集群来调度。 Hive可以将结构化的数据映射为一张数据库表,并提供HQL(HiveSQL)查询功能。

    Hive.sql,hive的元数据

    Hive.sql

Global site tag (gtag.js) - Google Analytics