submitting_target满满干货

Mark wiens

发布时间:2024-04-22

我帮你呀

submitting_target满满干货

 

序言    大数据的生态包含各种各样的组件,hive是其中之一,hive主要是作为数据仓库的工具,简化相关人员的代码工作,只要编写简单的SQL就可以实现mapreduce效果    hive是建立在hadoop之上的,也就是将海量的数据存储在HDFS之中,而对于数据的分析和计算则是借助mapreduce。

HIVE1 hive的作用及组成部分    hive主要是将用户编写的SQL语句,进行词法分析,语法解析,最后将SQL转变成mapreduce程序在hadoop之中执行,最后拿到结果返回给用户    hive将hdfs中的结构化文件映射成数据库,表,从而需要一个元数据中心保存相关的信息,一般保存在mysql中,这部分主要就是metastore;hive的服务端提供提供编译器,执行器,根据mr的模板程序将sql转变为mr程序,然后由执行器将job提交给yarn进行调度,读取hdfs的数据,运行mapreduce程序。

    hive本身是不提供计算引擎,在低版本中,主要是mapreduce来负责,不过这个map阶段,shuffle阶段,reduce阶段都是需要大量的磁盘读写,性能不高,从而有了tez计算框架,使用DAG有向无环图的方式来进行各个阶段的复用,从而能提升部分性能,比较推荐的是使用spark的计算引擎,这种全部都是内存的操作,从而能大大提升性能。

hive主要适合于离线数据的批量计算,也就是通常所说的batch computing,适合于数据的转换处理。

hive的高可用架构比较简单,也就是后端同时运行几个hive服务,反正自己也不用保存啥数据,因为需要保存的数据都是元数据,持久化存储在mysql中。

2 hive的配置    hive首先需要一个metstore,也就是元数据存储的地方,一般使用mysql主从来实现,可以查看保存在其中的元数据信息mysql> use hive;Reading table information 。

for completion of table and column namesYou can turn off this feature to get a quicker startup with -A

Database changedmysql> SELECT * FROM VERSION;+--------+----------------+----------------------------+

| VER_ID | SCHEMA_VERSION | VERSION_COMMENT |+--------+----------------+----------------------------+

| 1 |1.2.0| Hive release version 1.2.0 |+--------+----------------+----------------------------+

1 row in set (0.00 sec)mysql> SELECT * FROM DBS;+-------+-----------------------+--------------------------------------+---------+------------+------------+

| DB_ID | DESC | DB_LOCATION_URI | NAME | OWNER_NAME | OWNER_TYPE

|+-------+-----------------------+--------------------------------------+---------+------------+------------+

|1| Default Hive database |hdfs://ns/user/hive/warehouse| default | public | ROLE || 2 |

NULL | hdfs://ns/user/hive/warehouse/kel.db | kel | root | USER |+-------+-----------------------+--------------------------------------+---------+------------+------------+

2 rows in set (0.01 sec)mysql> SELECT * FROM PARTITIONS;+---------+-------------+------------------+---------------------------+-------+--------+----------------+

| PART_ID | CREATE_TIME | LAST_ACCESS_TIME | PART_NAME | SD_ID | TBL_ID | LINK_TARGET_ID

|+---------+-------------+------------------+---------------------------+-------+--------+----------------+

|1| 1613477304 |0| country=CHINA |13| 12 | NULL ||2| 1613477401 |0| country=USA |

14| 12 | NULL ||3| 1613478060 |0| dt=2021%2F02%2F16/hour=12 |16| 13 | NULL

||4| 1613478129 |0| dt=2021%2F02%2F16/hour=11 |17| 13 | NULL ||5| 1613478134 |0| dt=2021%2F02%2F17/hour=11 |

18| 13 | NULL |+---------+-------------+------------------+---------------------------+-------+--------+----------------+

5 rows in set (0.00 sec)在安装hive的时候,会自动初始化这个元数据库,各个表之间的关系可以在官网上查看到//hive和hadoop的联系[root@KEL1 conf]# grep hadoop hive-env.sh。

# Set HADOOP_HOME to point to a specific hadoop install directoryHADOOP_HOME=/opt/module/hadoop-2.7.2

//hive连接元数据库配置[root@KEL1 conf]# cat hive-site.xml javax.jdo.option.ConnectionURL

jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true

>javax.jdo.option.ConnectionDriverNamecom.mysql.cj.jdbc.Driver

javax.jdo.option.ConnectionUserNameroot

>javax.jdo.option.ConnectionPasswordroot//防止远程会话超时断开

hive.server2.idle.session.timeout0hive.server2.idle.operation.timeout

0hive.server2.session.check.interval0

免责声明:本站所有信息均搜集自互联网,并不代表本站观点,本站不对其真实合法性负责。如有信息侵犯了您的权益,请告知,本站将立刻处理。联系QQ:1640731186