当前位置:   article > 正文

搭建hive_hive 创建库

hive 创建库

hive作用:

      hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将SQL语句转变成MapReduce任务来执行。Hive的优点是学习成本低,可以通过类似SQL语句实现快速MapReduce统计,使MapReduce变得更加简单,而不必开发专门的MapReduce应用程序。hive十分适合对数据仓库进行统计分析。 

    hive 构建在基于静态批处理的Hadoop 之上,Hadoop 通常都有较高的延迟并且在作业提交和调度的时候需要大量的开销。因此,hive不适合用于联机(online)事务处理,也不提供实时查询功能。它最适合应用在基于大量不可变数据的批处理作业。hive的特点包括:可伸缩(在Hadoop的集群上动态添加设备)、可扩展、容错、输入格式的松散耦合。

技术的推动力是追求追求更简单,更灵活,MapReduce的出现大大简化了大数据编程的难度,使得大数据计算不再是高不可攀的技术圣殿,普通工程师也能使用MapReduce开发大数据程序。但是对于经常需要进行大数据计算的人,比如从事研究商业智能(BI)的数据分析师来说,他们通常使用SQL进行大数据分析和统计,MapReduce编程还是有一定的门槛。而且如果每次统计和分析都开发相应的MapReduce程序,成本也确实太高了。那么有没有更简单的办法,hive把大数据和大家都熟悉的已经发展了40多年的关系型数据联系起来了,把存储在hdfs中的数据抽象成一个数据库,hdfs相当于mysql的innerDB,hive相当于mysql server,当然这只是一个抽象概念,底部实现逻辑完全不同

Hive的架构

我们通过Hive的Client(Hive的命令行工具,JDBC等)向Hive提交SQL命令。如果是创建数据表的DDL(数据定义语言),Hive就会通过执行引擎Driver将数据表的信息记录在Metastore元数据组件中,这个组件通常用一个关系数据库实现,记录表名、字段名、字段类型、关联HDFS文件路径等这些数据库的Meta信息(元信息)。如果我们提交的是查询分析数据的DQL(数据查询语句),Driver就会将该语句提交给自己的编译器Compiler进行语法分析、语法解析、语法优化等一系列操作,最后生成一个MapReduce执行计划。然后根据执行计划生成一个MapReduce的作业,提交给Hadoop MapReduce计算框架处理。

Meta store 元数据存储
元数据包括:表名、表所属的数据库(默认是default)、表的拥有者、列、分区字段、表的类型(是否是外部表)、表的数据所在的目录等;
默认存储在自带的derby数据库中,推荐使用采用MySQL存储Metastore;修改Metastore :./bin/schematool -dbType mysql -initSchema

client 三种访问方式

1、CLI(hive shell)、command line interface(命令行接口)
2、JDBC/ODBC(java访问hive),
3、WEBUI(浏览器访问hive)

搭建hive

官网:Apache Hive
参考文档:GettingStarted - Apache Hive - Apache Software Foundation
Hive原理及Hive的搭建与部署 - 程序员大本营

1、下载hive压缩包,下载地址:Index of /hive/hive-3.1.2
解压:$ tar -xzvf hive-apache-hive-3.1.2-bin.tar.gz
配置环境变量:vim /etc/profile
export HIVE_HOME=/opt/apache/hive/apache-hive-3.1.2-bin
export PATH=$PATH:$HIVE_HOME/sbin:$HADOOP_HOME/bin

2、下载hadoop压缩包,下载地址:Apache Downloads
解压:$ tar -xzvf hadoop-3.3.1.tar.gz
配置环境变量:vim /etc/profile
export HIVE_HOME=/opt/apache/hadoop/hadoop-3.3.1
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

3、 执行:source /etc/profile 让环境变量生效

4、运行cli:root@iZuf62eb7lgfq34jy7dr5mZ:/opt/apache/hive/apache-hive-3.1.2-bin/bin# ./hive

5、运行beeline:root@iZuf62eb7lgfq34jy7dr5mZ:/opt/apache/hive/apache-hive-3.1.2-bin/bin# ./hiveserver2

6、遇到的问题:

(1)解决:$ $HIVE_HOME/bin/schematool -dbType derby -initSchema 

(2)
先将metastore_db更名为:metastore_db.tmp,再启动hive
解决:/hive/bin $ mv metastore_db metastore_db.tmp

测试CLI:

hive测试sql

CREATE TABLE PRD_BRAND(

  `ID` INT,

  `NAME` STRING

);

INSERT INTO `PRD_BRAND` (`ID`, `NAME`) VALUES ('1''施耐德电气');

INSERT INTO `PRD_BRAND` (`ID`, `NAME`) VALUES ('2''西门子');

INSERT INTO `PRD_BRAND` (`ID`, `NAME`) VALUES ('3''ABB');

INSERT INTO `PRD_BRAND` (`ID`, `NAME`) VALUES ('4''菲尼克斯');

INSERT INTO `PRD_BRAND` (`ID`, `NAME`) VALUES ('5''福禄克');

INSERT INTO `PRD_BRAND` (`ID`, `NAME`) VALUES ('6''德力西电气');

SELECT FROM PRD_BRAND;

结果:

测试beeline:

连接地址:10.1.162.144:10002

hive默认不支持delete 和 update,但是可以修改参数开启

Client Side
hive.support.concurrency – true
hive.enforce.bucketing – true (Not required as of Hive 2.0)
hive.exec.dynamic.partition.mode – nonstrict
hive.txn.manager – org.apache.hadoop.hive.ql.lockmgr.DbTxnManager


Server Side (Metastore)
hive.compactor.initiator.on – true (See table below for more details)
hive.compactor.worker.threads – a positive number on at least one instance of the Thrift metastore service

创建表使用事务

CREATE TABLE table_name (
  id                int,
  name              string
)
CLUSTERED BY (id) INTO 2 BUCKETS STORED AS ORC
TBLPROPERTIES ("transactional"="true",
  "compactor.mapreduce.map.memory.mb"="2048",     -- specify compaction map job properties
  "compactorthreshold.hive.compactor.delta.num.threshold"="4",  -- trigger minor compaction if there are more than 4 delta directories
  "compactorthreshold.hive.compactor.delta.pct.threshold"="0.5" -- trigger major compaction if the ratio of size of delta files to
                                                                   -- size of base files is greater than 50%
);

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/614752
推荐阅读
相关标签
  

闽ICP备14008679号