新闻实时分析系统hive与hbase集成进行数据分析

misliu misliu     2022-12-18     167

关键词:

(一)Hive 概述

 

(二)Hive在Hadoop生态圈中的位置

 

(三)Hive 架构设计

 

 

(四)Hive 的优点及应用场景

 

(五)Hive 的下载和安装部署

1.Hive 下载

Apache版本的Hive。

Cloudera版本的Hive。

这里选择下载Apache稳定版本apache-hive-0.13.1-bin.tar.gz,并上传至bigdata-pro03.kfk.com节点的/opt/softwares/目录下。

2.解压安装hive

tar -zxf apache-hive-0.13.1-bin.tar.gz -C /opt/modules/

3.修改hive-log4j.properties配置文件

cd /opt/modules/hive-0.13.1-bin/conf

mv hive-log4j.properties.template hive-log4j.properties

vi hive-log4j.properties

#日志目录需要提前创建

hive.log.dir=/opt/modules/hive-0.13.1-bin/logs

4.修改hive-env.sh配置文件

mv hive-env.sh.template hive-env.sh

vi hive-env.sh

export HADOOP_HOME=/opt/modules/hadoop-2.5.0

export HIVE_CONF_DIR=/opt/modules/hive-0.13.1-bin/conf

5.首先启动HDFS,然后创建Hive的目录

bin/hdfs dfs -mkdir -p /user/hive/warehouse

bin/hdfs dfs -chmod g+w /user/hive/warehouse

6.启动hive

./hive

#查看数据库

show databases;

#使用默认数据库

use default;

#查看表

show tables;

(六)Hive 与MySQL集成

1.在/opt/modules/hive-0.13.1-bin/conf目录下创建hive-site.xml文件,配置mysql元数据库。

vi hive-site.xml

  <property>

    <name>javax.jdo.option.ConnectionURL</name>

    <value>jdbc:mysql://bigdata-pro01.kfk.com/metastore?createDatabaseIfNotExist=true</value>

  </property>

  <property>

    <name>javax.jdo.option.ConnectionDriverName</name>

    <value>com.mysql.jdbc.Driver</value>

  </property>

 <property>

    <name>javax.jdo.option.ConnectionUserName</name>

    <value>root</value>

  </property>

  <property>

    <name>javax.jdo.option.ConnectionPassword</name>

    <value>123456</value>

  </property>

2.设置用户连接

1)查看用户信息

mysql -uroot -p123456

show databases;

use mysql;

show tables;

select User,Host,Password from user;

2)更新用户信息

update user set Host=‘%‘ where User = ‘root‘ and Host=‘localhost‘

3)删除用户信息

delete from user where user=‘root‘ and host=‘127.0.0.1‘

select User,Host,Password from user;

delete from user where host=‘localhost‘

4)刷新信息

flush privileges;

3.拷贝mysql驱动包到hive的lib目录下

cp mysql-connector-java-5.1.27.jar /opt/modules/hive-0.13.1/lib/

4.保证第三台集群到其他节点无秘钥登录

(七)Hive 服务启动与测试

1.启动HDFS和YARN服务

2.启动hive

./hive

3.通过hive服务创建表

CREATE TABLE stu(id INT,name STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY ‘\t‘ ;

4.创建数据文件

vi /opt/datas/stu.txt

00001   zhangsan

00002   lisi

00003   wangwu

00004   zhaoliu

5.加载数据到hive表中

load data local inpath ‘/opt/datas/stu.txt‘ into table stu;

(八)Hive与HBase集成

1.在hive-site.xml文件中配置Zookeeper,hive通过这个参数去连接HBase集群。

<property>

    <name>hbase.zookeeper.quorum</name>   <value>bigdata-pro01.kfk.com,bigdata-pro02.kfk.com,bigdata-pro03.kfk.com</value>

</property>

2.将hbase的9个包拷贝到hive/lib目录下。如果是CDH版本,已经集成好不需要导包。

export HBASE_HOME=/opt/modules/hbase-0.98.6-cdh5.3.0

export HIVE_HOME=/opt/modules/hive-0.13.1/lib

ln -s $HBASE_HOME/lib/hbase-server-0.98.6-cdh5.3.0.jar $HIVE_HOME/lib/hbase-server-0.98.6-cdh5.3.0.jar

 

ln -s $HBASE_HOME/lib/hbase-client-0.98.6-cdh5.3.0.jar $HIVE_HOME/lib/hbase-client-0.98.6-cdh5.3.0.jar

 

ln -s $HBASE_HOME/lib/hbase-protocol-0.98.6-cdh5.3.0.jar $HIVE_HOME/lib/hbase-protocol-0.98.6-cdh5.3.0.jar

 

ln -s $HBASE_HOME/lib/hbase-it-0.98.6-cdh5.3.0.jar $HIVE_HOME/lib/hbase-it-0.98.6-cdh5.3.0.jar

 

ln -s $HBASE_HOME/lib/htrace-core-2.04.jar$HIVE_HOME/lib/htrace-core-2.04.jar

 

ln -s $HBASE_HOME/lib/hbase-hadoop2-compact-0.98.6-cdh5.3.0.jar $HIVE_HOME/lib/hbase-hadoop2-compact-0.98.6-cdh5.3.0.jar

 

ln -s $HBASE_HOME/lib/hbase-hadoop-compact-0.98.6-cdh5.3.0.jar $HIVE_HOME/lib/hbase-hadoop-compact-0.98.6-cdh5.3.0.jar

 

ln -s $HBASE_HOME/lib/high-scale-lib-1.1.1.jar $HIVE_HOME/lib/high-scale-lib-1.1.1.jar

 

ln -s $HBASE_HOME/lib/hbase-common-0.98.6-cdh5.3.0.jar $HIVE_HOME/lib/hbase-common-0.98.6-cdh5.3.0.jar

3.创建与HBase集成的Hive的外部表

create external table weblogs(id string,datatime string,userid string,searchname string,retorder string,cliorder string,cliurl string)  STORED BY  ‘org.apache.hadoop.hive.hbase.HBaseStorageHandler‘ WITH SERDEPROPERTIES("hbase.columns.mapping" = ":key,info:datatime,info:userid,info:searchname,info:retorder,info:cliorder,info:cliurl") TBLPROPERTIES("hbase.table.name" = "weblogs");

       

#查看hbase数据记录

select count(*) from weblogs;

4.hive 中beeline和hiveserver2的使用

1)启动hiveserver2

bin/hiveserver2

2)启动beeline

bin/beeline

#连接hive2服务

!connect jdbc:hive2//bigdata-pro03.kfk.com:10000

#查看表

show tables;

#查看前10条数据

select * from weblogs limit 10;

新闻网大数据实时分析可视化系统项目——12hive与hbase集成进行数据分析

(一)Hive概述(二)Hive在Hadoop生态圈中的位置(三)Hive架构设计(四)Hive的优点及应用场景(五)Hive的下载和安装部署1.Hive下载Apache版本的Hive。Cloudera版本的Hive。这里选择下载Apache稳定版本apache-hive-0.13.1-bin.tar.gz,并上传至b... 查看详情

hbase与hive的集成操作(代码片段)

1.介绍  Hive提供了与HBase的集成,使得能够在HBase表上使用HQL语句进行查询插入操作以及进行Join和Union等复杂查询,同时也可以将hive表中的数据映射到HBase中;2.模型概念  2.1将ETL操作的数据存入HBase      2.2HBase作为Hi... 查看详情

hbase与hive集成(代码片段)

...中做了一个双射关系,以方便使用HiveQL管理查询用于数据分析、清洗,Hive适用于离线的数据分析和清洗HBase数据库,面向列族存储的非关系型数据库用于存储结构化和非结构化的数据,不适合做关联查询,join延迟较低,高效的... 查看详情

数据库与数据仓库的比较hbase——hive

...进行组织。(2)集成:指对原有分散的数据库数据经过系统加工,整理得到的消除源数据中的不一致性。( 查看详情

hive教程---整合hbase

...了一个双射关系,以方便使用HQL去管理查询。(2)用于数据分析、清洗Hive适用于离线的数据分析和清洗,延迟较高。(3)基于HDFS、MapReduceHive存储的数据依旧在DataNode上, 查看详情

hbase和hive的差别是啥,各自适用在啥场景中

...处理系统,因此不能保证处理的低迟延问题;而HBase是近实时系统,支持实时查询。5.Hive不提供row-level的更新,它适用于大量append-only数据集(如日志)的批任务处理。而基于HBase的查询,支持和row-level的更新。6.Hive提供完整的SQL... 查看详情

实时即未来,车联网项目之将数据落地到文件系统和数据库(代码片段)

文章目录实时读取流数据的步骤原始数据实时ETL任务分析Hive将HDFS数据映射到Hive表自定义Sink数据写入Hive表(了解)原始数据实时ETL落地到HBaseHBase的rowkey设计原则HBase的rowkey设计方法正常数据落地到HBase原始数据实时ETL任... 查看详情

实时即未来,车联网项目之将数据落地到文件系统和数据库(代码片段)

文章目录实时读取流数据的步骤原始数据实时ETL任务分析Hive将HDFS数据映射到Hive表自定义Sink数据写入Hive表(了解)原始数据实时ETL落地到HBaseHBase的rowkey设计原则HBase的rowkey设计方法正常数据落地到HBase原始数据实时ETL任... 查看详情

实时即未来,车联网项目之将数据落地到文件系统和数据库(代码片段)

文章目录实时读取流数据的步骤原始数据实时ETL任务分析Hive将HDFS数据映射到Hive表自定义Sink数据写入Hive表(了解)原始数据实时ETL落地到HBaseHBase的rowkey设计原则HBase的rowkey设计方法正常数据落地到HBase原始数据实时ETL任... 查看详情

02spark架构与运行流程

...分析;2)使用hive进行历史数据的分析;3)使用hbase进行实时数据的查询;4)使用storm进行实时的流处理;(2)选用spark的原因1)应用于流式计算的SparkStreaming;2)应用于即席查询(Ad-hoc)的SparkSQL;3)应用于机器学习(数据挖掘)... 查看详情

spark集成hbase与hive数据转换与代码练习

  帮一个朋友写个样例,顺便练手啦~一直在做平台的各种事,但是代码后续还要精进啊。。。1importjava.util.Date23importorg.apache.hadoop.hbase.HBaseConfiguration4importorg.apache.hadoop.hbase.client.{Put,Scan,Result}5importorg.apache.hadoop.hbase. 查看详情

hbase(代码片段)

续接(三)3habse(1.2)集成hive(1.2.1)===》不兼容集成,需要自己编译!!!    hive1.x与hbase0.98版本兼容    hive2.x与hbase1.x版本以上兼容    hive0.x与hbase0.98以下兼容  Hive提供了与HBase的集成,使得能够在HBase表... 查看详情

新闻网大数据实时分析可视化系统项目——9flume+hbase+kafka集成与开发

1.下载Flume源码并导入Idea开发工具1)将apache-flume-1.7.0-src.tar.gz源码下载到本地解压2)通过idea导入flume源码打开idea开发工具,选择File——》Open然后找到flume源码解压文件,选中flume-ng-hbase-sink,点击ok加载相应模块的源码。2.... 查看详情

hbase框架基础

...些MapReduce小程序,其主要作用呢是可以做一些数据清洗和分析或者导入数据的工作,这一节我们来介绍如何使用HBase与其他框架进行搭配使用。*HBase与Hive在开始HBase与Hive搭配使用前,我们复习一下这两个框架的特点:Hive:**数据... 查看详情

hive和hbase区别11

...试从其各自的定义、特点、限制、应用场景等角度来进行分析,以作抛砖引玉之用。 Hive是什么?ApacheHive是一个构建于Hadoop(分布式系统基础架构)顶层的数据仓库,注意这里不是数据库。Hive可以看作是用户编程接口,它本身... 查看详情

hive与hbase关系整合

...的必要性。其中在数据存入hbase—>Hive对数据进行统计分析的这个步骤中就涉及到了Hive与Hba 查看详情

hive与hbase

...:Hbase和Hive在大数据架构中处在不同位置,Hbase主要解决实时数据查询问题,Hive主要解决数据处理和计算问题,一般是配合使用。一、区别:Hbase:Hadoopdataba 查看详情

新闻实时分析系统-hadoop2.xha架构与部署

1.HDFS-HA架构原理介绍hadoop2.x之后,Clouera提出了QJM/QuromJournalManager,这是一个基于Paxos算法实现的HDFSHA方案,它给出了一种较好的解决思路和方案,示意图如下: 1)基本原理就是用2N+1台JN存储EditLog,每次写数据操作有大多数(&... 查看详情