`

Hive 常见问题与技巧

    博客分类:
  • hive
 
阅读更多

1Q: 是否有像类似于phpmyadmin一样的hive查询客户端,能以界面的方式查询hive语句和导出数据

A: 有的,客户端的话可以使用squirrel来连接hive,squirrel是一个通用的数据库查询客户端,还有有一个开源项目phphiveadmin也不错,

web方式访问hive,这里也有一个hive web client(https://github.com/lalaguozhe/hiveweb-1)

 

2Q: 执行语句时候,能否控制reducer的个数

A: 可以在执行hive语句之前先 set mapred.reduce.tasks=<number>

 

3Q: 是否可能在输出的时候在结果第一行打印列名

A: 可以在执行hive语句之前先 set hive.cli.print.header=true;

 

4Q: Hive是否支持跨数据库查询,比如database arch的table1和database algo的table2 进行join

A: 可以,只要有用户有这两张表的select权限即可,用户需要用“database.table”的方式来指定数据库下的表

 

5Q: Hive是否有内置的函数,可以对输出的数据进行处理

A: Hive提供了丰富的内置函数,参见https://cwiki.apache.org/Hive/languagemanual-udf.html

用户也可以自己实现自定义的UDF方法来满足更复杂的查询需求

 

6Q: Hive支持exist in么?

A: 不支持,但是可以通过改写语句达到相同的效果,比如对于查询语句:

SELECT a.key, a.value FROM a WHERE a.key in (SELECT b.key FROM B);

可以改写成:

SELECT a.key, a.val

FROM a LEFT SEMI JOIN b on (a.key = b.key)

PS:上述答案过时了,目前 hive 已经支持 in 查询了。

http://blog.csdn.net/yfkiss/article/details/8073608

 

7Q:Hive是否支持本地执行模式

A:Hive支持本地执行模式,当数据量小的时候,本地执行比提交到集群上执行效率提升很大

set hive.exec.mode.local.auto=true(默认false)

当一个job满足如下条件才能真正使用本地模式:

1.job的输入数据大小必须小于参数hive.exec.mode.local.auto.inputbytes.max(默认值128MB)

2.job的map处理的文件数大于参数hive.exec.mode.local.auto.input.files.max(默认值4)

3.job的reduce数必须为0或者1,不管是用户设置的还是系统推测出来的

用参数hive.mapred.local.mem(默认0)来设置local mode下mapper和reducer task jvm heap size

 

8Q: 关键词UNION ALL的用法

A:The number and names of columns returned by each select_statement has to be the same. Otherwise, a schema error is thrown.

UNION ALL两边的字段名,和字段数都必须一致,可以用as xxx来统一字段名,并且目前UNION ALL只能作为子查询。

9Q:hive left outer join的问题:where 与 on 条件的区别

http://blog.csdn.net/lalaguozhe/article/details/9498947

10Q:其它技巧请见:

http://my.oschina.net/leejun2005/blog/121945

11、对于 jar 包调用失败 NullPointerException 的问题

FAILED: Error in metadata: java.lang.NullPointerException
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask

你可能需要再 hive-site.xml 中添加 jar 的路径:

具体参考:http://abloz.com/2013/03/28/the-hive-execute-statements-times-nullpointerexception.html

1 <property>
2     <name>
3         hive.aux.jars.path
4     </name>
5     <value>
6         file:///home/june/soft/hive-0.9.0-bin/lib/hive-json-serde.jar
7     </value>
8 </property>

REF:http://blog.csdn.net/lalaguozhe/article/details/9081971

分享到:
评论

相关推荐

    Hive原理与实现

    ### Hive原理与实现 #### 一、Hive的概述与意义 Hive 是一个构建于 Hadoop 之上的数据仓库工具,它提供了类 SQL 的查询语言(HQL),使得...通过对HQL的编写技巧、Hive内部机制的理解,可以有效提升Hive查询的性能。

    Hive编程指南+HIVE从入门到精通+Hive高级编程+Apache Oozie

    4. **错误处理与调试**: 识别并解决查询中的常见问题,理解Hive日志以进行故障排除。 5. **实时查询**: 使用Hive on Tez或Hive on Spark实现更快的响应时间。 **Hive高级编程** 高级编程涉及更复杂的Hive使用场景和...

    Hive用户指南 Hive user guide 中文版

    - 提供了一些常见问题解答,帮助用户解决使用过程中遇到的问题。 以上是Hive用户指南中文版的主要内容概述,通过对这些知识点的学习和理解,可以帮助用户更好地使用Hive进行大数据处理和分析。

    《企业级Hive实战课程》大纲

    - 通过具体的案例演示Hive的使用方法与技巧,包括但不限于表的设计、HiveQL语句的编写与优化等。 3. **Hive高级话题** - 生产环境中问题的分析与解决; - Hive源代码的调试与bug修复; - Hive元数据表结构的...

    Hive用户手册中文版.pdf

    Hive是基于Hadoop的一个数据仓库工具,它提供了数据存储、查询和分析的机制。...Hive的FAQ部分通常涵盖了常见问题的解答,比如如何安装Hive、如何配置Hive参数、如何管理Hive表以及如何诊断和解决常见问题等。

    Hive使用手册Hive使用手册

    本手册将深入探讨Hive的概念、数据类型、表的操作以及优化技巧。 1. **Hive概念与连接使用** Hive是建立在Hadoop之上的数据仓库工具,它可以将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,方便大数据...

    hive解决问题方案

    通过上述命令和技巧,用户可以有效地管理和操作 Hive 中的数据,解决常见的数据处理和分析问题。这些方法涵盖了从基础的数据查询到复杂的表结构调整等多个方面,对于提高数据分析效率和准确性具有重要作用。

    Hive从入门到精通资源.zip

    Zhou Zxy”,它可能包含了Hive的实际操作步骤、技巧以及常见问题的解决方案,对于初学者来说是一份宝贵的参考资料。 通过这些资源,学习者可以从理论到实践,全面掌握Hive的使用,包括安装、配置、数据导入、查询...

    Apache Hive Cookbook_Code 源码

    在《Apache Hive Cookbook》这本书中,作者深入浅出地介绍了如何利用Hive解决实际数据处理问题。源码部分是书籍内容的实践应用,可以帮助读者更好地理解和应用书中提到的技术点。 `Chapter 2`可能涵盖了Hive的基本...

    hive sql详解 经典

    HiveQL是Hive的SQL方言,支持常见的SQL操作,如SELECT、FROM、WHERE、GROUP BY等,同时也有针对大数据处理的独特功能,如分桶(Bucketing)、分区(Partitioning)和倾斜Join(Skewed Join)优化。 3. **数据模型*...

    HIVE技术分享

    - **实际应用场景案例:**通过具体案例展示 Hive 如何应用于实际业务问题的解决。 - **性能调优技巧:**介绍如何根据业务需求调整 Hive 的参数以提高查询效率。 - **最佳实践分享:**分享在实际项目中积累的最佳实践...

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

    #### 九、优化与技巧 - **9.1 全排序**:对于大规模数据集进行全排序可能会导致性能问题。 - **9.2 怎样做笛卡尔积**:在特定场景下使用笛卡尔积进行数据关联。 - **9.3 怎样写exist/in子句**:优化子查询以提高...

    Hive语法详解

    #### 七、Hive常见优化技巧 为了提高查询效率,Hive提供了多种优化方法,包括但不限于: - **分区**:合理设计分区策略,减少扫描的数据量。 - **索引**:为经常出现在查询条件中的列创建索引。 - **小文件合并**...

    hive级联求和

    "面试用神sql--套路--累计报表.txt"可能包含了更多关于如何编写高效的Hive SQL来解决这类问题的实例和技巧,这将帮助你在面试中脱颖而出。 总结来说,Hive的级联求和功能是处理分层数据和构建累计报表的关键。通过...

    Hive、MySQL、HBase数据互导

    【Hive、MySQL、HBase数据互导】是大数据领域常见的数据处理操作,涉及三个不同的数据存储系统。Hive是一个基于Hadoop的数据仓库工具,它允许使用类SQL的查询语言HiveQL对大规模数据进行批处理和分析。MySQL是一种...

    apache-hive-0.13.1-bin.tar.gz嗯嗯喜欢的拿

    博客链接 "&lt;https://blog.csdn.net/magic_ninja/article/details/80486882&gt;" 提供了关于 Hive 使用的详细教程,可能涵盖了安装配置、基本操作、查询优化以及常见问题的解决方法。读者可以通过这个博客来深入理解 ...

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

    Hive是构建在Hadoop之上的数据仓库工具,用于简化大数据处理。其核心是Hive查询语言(HiveQL),它允许用户进行类SQL的...Hive的FAQ部分可能包含了常见问题的解答,但具体内容未在摘要中提供,因此无法进行详细解读。

    hive优化(ppt)

    列裁剪是另一种常见的Hive优化手段,指的是在SELECT语句中仅选择必要的列,避免全列扫描。例如,使用`SELECT mgid, mgid2 FROM mds_prod_grp_base_info WHERE dt='${date_qt}'`代替`SELECT * FROM mds_prod_grp_base...

    Play Hive Like a Champion

    本书不仅为新手提供了入门指导,也为资深玩家提供了深入的战术分析及实战技巧,旨在帮助读者在Hive棋游戏中取得胜利。本书共分为七个章节,涵盖了基本规则、虫子角色特性、记谱法、常见布局、战略思维、基础战术及...

Global site tag (gtag.js) - Google Analytics