Advertisement

hive 基础知识

阅读量:

Hive的优缺点:

优点:
o操作接口采用类SQL语法,提供快速开发的能力(简单、容易上手)。
o避免了去写MapReduce,减少开发人员的学习成本。
oHive的执行延迟比较高,因此Hive常用于数据分析,对实时性要求不高的场合。
oHive优势在于处理大数据,对于处理小数据没有优势,因为Hive的执行延迟比较高。
oHive支持用户自定义函数,用户可以根据自己的需求来实现自己的函数。
缺点:
oHive的HQL表达能力有限
迭代式算法无法表达
数据挖掘方面不擅长,由于MapReduce数据处理流程的限制,效率更高的算法却无法实现。
oHive的效率比较低
Hive自动生成的MapReduce作业,通常情况下不够智能化
Hive调优比较困难,粒度较粗
Hive架构原理

驱动组件:Driver
·解析模块(SQL Parser):通过解析SQL字符串生成抽象语法树(AST),此功能通常由第三方工具库实现(如ANTLR),随后会对生成的AST进行语义分析(如表是否存在、字段是否存在及语义有效性)。
·编译模块(Physical Plan Generation):将解析结果编译为逻辑执行计划。
·优化模块(Query Optimizer):对生成的逻辑执行计划进行优化以提升执行效率。
·执行模块(Execution):将逻辑执行计划转换为物理执行计划,在Hive场景下则采用MapReduce/Spark机制
JDBC访问路径

为了使用JDBC访问Hive,请在hive-site.xml文件中设置hiveserver2作为Hive服务器服务。

复制代码
    <property>
    <name>hive.server2.thrift.bind.host</name>
    <value>0.0.0.0</value>
    </property>
    <property>
    <name>hive.server2.thrift.port</name>
    <value>10000</value>
    </property>

注意事项: 参见博客的总结

启动该服务(在没有配置指定hive.metastore.uris的情况下被启动后,HiveServer2将无法找到该服务)

bin/hive --service metastore

启动hiveserver2

bin/hive --service hiveserver2

启动beeline

bin/beeline

连接Hiveserver2

beeline> !connect jdbc:hive2://hadoop102:10000

或者一步到位
beeline -u “jdbc:hive2://hadoop102:10000” -n appuser
Hive参数配置方式

共有三种配置方案可用
其中两种为官方配置文件: hive-site.xml 和 hive-default.xml
后者仅在当前运行的Hive任务中起作用 bin/hive - hiveconf mapred.reduce.tasks = 10
前者则采用默认值设置方法 hive (default) > set mapred.reduce.tasks = 100

查看参数配置情况

hive (default)> set mapred.reduce.tasks=100;
Hive数据类型

【核心数据类型

全部评论 (0)

还没有任何评论哟~