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;
不定期更新中。。。。。
分享到:
相关推荐
5. **分区与桶**:Hive的分区机制允许将大型表划分为更小、更易管理的部分,以提高查询性能。桶则是在分区基础上的进一步细分,用于实现数据的排序和并行处理。 6. **MapReduce和Tez**:Hive查询的执行引擎可以是...
【Hive原理】 Hive是基于Hadoop平台的数据仓库解决方案,它主要解决了在大数据场景下,业务人员和数据科学...通过理解其原理、掌握SQL语法、优化技巧和解决数据倾斜问题,可以在大数据环境中高效地进行数据分析工作。
- **合并小文件**:处理大量的小文件可能会影响Hive的性能。 #### 十、Hive FAQ - 提供了一些常见问题解答,帮助用户解决使用过程中遇到的问题。 以上是Hive用户指南中文版的主要内容概述,通过对这些知识点的...
高级编程涉及更复杂的Hive使用场景和技巧: 1. **窗口函数**: 使用Lag、Lead、Rank、RowNumber等函数进行时间序列分析和排名。 2. **多层嵌套查询与子查询**: 处理复杂的数据关系,如递归查询、集合操作和自关联...
本文将深入探讨Hive的核心架构、性能优化策略、数据导入导出流程、安全性增强以及与其他流行工具的集成,旨在帮助读者全面掌握Hive的使用技巧,实现高效的数据管理和分析。 #### Hive——SQL分析工具,适用于任意...
本笔记将全面深入地探讨Hive在大数据处理中的应用、原理及其实战技巧。 一、Hive简介 Hive是Apache软件基金会下的一个开源项目,它提供了一种基于Hadoop的数据仓库工具,可以将结构化的数据文件映射为一张数据库表...
Hive的优化与技巧包括如何选择合适的Map和Reduce操作的数量,如何处理大表之间的JOIN操作以避免数据偏斜,如何合并小文件以提高数据处理效率,以及如何使用Bucket和Sampling等技术。同时,Hive的优化还包括如何决定...
描述中强调文档是来自淘宝数据平台团队的总结,这说明文档内容具备权威性和实用性,对于编写Hive程序的人来说将有极大的帮助。考虑到Hive在处理大规模数据分析时的广泛应用,掌握Hive编程的高效技巧对于任何涉及大...
《编程Hive》是一本深入探讨Hive技术的权威书籍,其源代码存放在"programming_hive-master.zip"这个压缩包中。Hive是Apache软件基金会的一个开源项目,主要用于处理和存储大规模数据集,它是基于Hadoop的数据仓库...
Hive是Apache Hadoop生态系统中的一个数据仓库工具,它允许用户使用SQL方言(HQL)对存储在HDFS上的大规模数据进行查询和分析。在大数据处理中,Hive的性能优化是一个关键环节,以提高查询速度和系统资源的利用率。...
在IT行业中,大数据处理是当前的关键技术之一,而Hadoop和Hive是这个领域中的重要工具。本篇文章将深入探讨Hadoop和Hive的相关知识点,为面试做准备。 首先,我们来了解一下Hadoop。Hadoop是Apache软件基金会的一个...
8.8 Join中处理null值的语义区别 44 9. 优化与技巧 47 9.1 全排序 47 9.1.1 例1 48 9.1.2 例2 51 9.2 怎样做笛卡尔积 54 9.3 怎样写exist/in子句 54 9.4 怎样决定reducer个数 55 9.5 合并MapReduce操作 55 9.6 ...
### Hive原理与实现 #### 一、Hive的概述与意义 Hive 是一个构建于 Hadoop 之上的数据仓库工具,它提供了类 SQL 的查询语言(HQL),使得...通过对HQL的编写技巧、Hive内部机制的理解,可以有效提升Hive查询的性能。
在使用Hadoop和Hive过程中,可能会遇到一些问题,例如Mapreduce任务结束了,但是Reduce任务停止了,或者HDFS抛出错误等情况。 1. Mapreduce任务结束了,但是Reduce任务停止了 这种情况可能是由于Mapreduce任务的...
3. 编程技巧:通过编程技巧的提升,例如选择合适的InputFormat来处理数据,可以有效提升Hive和MapReduce作业的效率。例如,使用CombineFileInputFormat而不是旧的MultiFileInputFormat(已废弃),可以更高效地处理...
- **1.4.2 MySQL**:MySQL是一个成熟的开源关系型数据库管理系统,通常用于生产环境中Hive的元数据存储。相比于Derby,MySQL提供了更好的可靠性和性能,支持多用户并发访问。 **1.5 Hive的数据存储** Hive的数据...
Hive提供了多种性能优化技巧,如预分区、使用Bucketing、SortBy、Storage Handling、压缩和使用Vectorized Execution等。合理运用这些策略能显著提升查询性能。 总结,Hive SQL是大数据分析的重要工具,通过理解其...
- **不适合频繁更新数据:**Hive 不支持行级更新操作,更适用于处理变化较小的大数据集,如网站日志等。 #### 三、Hive CLI (Hive 命令行) Hive 提供了命令行工具用于执行 HiveQL 查询和管理操作。 **常用命令行...
- **小文件合并**:通过调整参数或使用工具如Hive's `MSCK REPAIR TABLE`命令来减少小文件的数量。 - **数据倾斜处理**:通过调整查询逻辑、使用样本表等方式解决数据倾斜问题。 - **并行执行**:开启并行执行以加快...