Hive数据库:嵌入、本地、远程全攻略(上)

这篇具有很好参考价值的文章主要介绍了Hive数据库:嵌入、本地、远程全攻略(上)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Hive分布式数据仓库工具

关系型数据库

建立在关系模型之上的数据库称为关系型数据库(关系模型是由埃德加·科德于1970年提出的),关系型数据库借助集合代数等数学概念处理数据库中的数据。数据查询语言SOL是基于关系型数据库的语言,能够对关系型数据库中的数据进行检索和操作。关系模型由关系数据结构、关系操作集合、关系完整性约束3个部分组成。当前主流的关系型数据库有Oracle、SOL Server、Access.MySQL等。

Hive数据库:嵌入、本地、远程全攻略(上),hive,数据库

图1-1 Hive图

关系数据库的瓶颈

(1)高并发读写需求

大型网站中用户的并发性会非常高,对于传统关系型数据库来说,硬盘I/O(读写操作)是一个很大的瓶颈。

海量数据的高效率读写

在信息时代飞速发展的情况下,而关系型数据库查询一张包含海量数据的表的效率是非常低的。

(2)高扩展和高可用性

在基于Web的结构中,数据库的横向扩展是非常困难的当其个应用系统的用户量和访问量剧增时,传统数据库无法添加更多的硬件或服冬节占来扩展其性能和负载能力。

Hive分布式数据仓库工具的概述

(1)Hive简介

Hive是基于 Hadoop的一个类关系型数据库的数据仓库工具,能够将结构化数据文件映射为数据库表并提供完整的查询功能。Hive定义了简单的类SQL查询语言HiveQL或HQL,它使熟悉 SQL的用户查询数据更加方便Hive的学习成本低,不需要专门开发mapReduce应用就可以通过类SQL语句快速实现 MapReduce的统计,能够对数据仓库进高效的数据统计分析。

(2)组件

服务端组件

Driver: 该组件包括Complier Optimizer 和Executor,能将用户编写的HQL语句进行编译解析、生成执行计划,然后调用MapReduce进行数据分析。

Metastore: 元数据服务组件,用来存储Hive元数据,因此Hive能够把Metastore服务分离并安装到远程集群,做到降低Hive服务与Metastore服务的耦合度,保证Hive运行

Thrift Server: Thrift是Facebook旗下的软件框架,能够进行跨语言服务的开发,Hive集成了该服务,支持不同语言调用Hive接口。

客户端组件

CLI:Command Line Interface,命令行接口。

Thrift客户端: Hive架构中多数客户端接口是建立在Thrift之上的,包括JDBC和ODBC接口

Web GUI: Hive提供了通过网页访问Hive服务的服务,对应Hive的HWI组件。

(3)Hive特性

Hive作为Hadoop的基础数询和分析。Hive提供了-系列数据提取、转化、加载的工具。Hive 定义了类SQL的查询数据仓库工具,可以对存储在Hadoop中的大规模数据进行查询HiveQL或HQL,它使熟悉SQL的用户查询数据更方便。同时,HiveQL允许开发者通过自定义Mapper和Reducer来完成自带Mapper和Reducer无法完成的分析工作

(4)应用场景

因为hive是基于Hadoop框架的仓库数据工具,Hadoop提交作业又有较大的时间延迟,导致hive不适合做低延迟的应用

(5)Hive中使用MySQL的原因

MySQL关系型数据库管理系统由瑞典MySQL AB公司开发,目前属于甲骨文公司旗下。Hive内部对MySQL提供了很好的支持并提供了类SQL查询语言(即HiveQL或HQL),它允许能够熟练使用SQL查询的用户对数据进行查询。同时也允许能够熟练使用MapReduce的开发者通过开发自定义Mapper和Reducer来处理内建的Mapper和Reducer MySQL支持FreeBSD、Linux、MAC、Windows等多种操作系统,Hive数据仓库工具借助MySQL数据库进行文件存储主要基于以下几点。

➢数据较为安全。

➢使用便捷。

➢多语言支持: MySQL为C、C++、Python、JAVA、Perl、PHP、Ruby等多种编程语言提供了API,访问和使用方便。

➢移植性好:MySQL 是跨平台的,安装简单小巧。

➢支持大量数据查询和存储:MySQL可以承受大量的并发访问。

(6)Hive数据仓库部署

Hive官网上介绍了Hive的3种安装方式,分别对应不同的应用场景。

(1)内嵌模式(元数据保村在内嵌的数据库derby种,允许一个会话链接,尝试多个会话链接时会报错),此模式连接到一个In-memory 的数据库Derby,一般用于Unit Test(单位测试)

(2)本地模式(本地安装mysql 替代derby存储元数据)

通过网络连接到一个数据库中,是最经常使用到的模式。

(3)远程模式(远程安装mysql 替代derby存储元数据)

远程服务器模式。用于非Java客户端访问元数据库,在服务器端启动MetaStoreServer,客户端利用Thrift协议通过MetaStoreServer访问元数据库

1.内嵌模式的安装与配置:
该模式下ConnectionURL指向hive内嵌数据库derby,在master下
(1)配置hive-site.xml:
vi  hive-site.xml 

<property>  
  <name>javax.jdo.option.ConnectionURL</name>  
  <value>jdbc:derby:;databaseName=metastore_db;create=true</value> 
</property>  
<property>  
  <name>javax.jdo.option.ConnectionDriverName</name>  
  <value>org.apache.derby.jdbc.EmbeddedDriver</value> 
</property>  
<property>  
  <name>hive.metastore.local</name>  
  <value>true</value> 
</property>   
<property>  
  <name>hive.metastore.warehouse.dir</name>  
  <value>/user/hive/warehouse</value>  
</property>  


末尾追加:

<property>
<name>hive.metastore.schema.verification</name>
<value>false</value>
</property>

<property>
<name>hive.exec.local.scratchdir</name>
<value>/export/server/hive/data/${user.name}</value>
<description>Local scratch space for Hive jobs</description>
</property>
<property>
<name>hive.downloaded.resources.dir</name>
<value>/home/hive/apache-hive-1.2.2-bin/tmp/${hive.session.id}_resources</value>
<description>Temporary local directory for added resources in the remote file system.</description>
</property>
<property>
<name>hive.server2.logging.operation.log.location</name>
<value>/home/hive/apache-hive-1.2.2-bin/tmp/root/operation_logs</value>
<description>Top level directory where operation logs are stored if logging functionality is enabled</description>
</property>

(2)配置环境变量:
vi /etc/profile:

export HIVE_HOME=/usr/hive/apache-hive-2.1.1-bin
export PATH=$PATH:$HIVE_HOME/bin


(3)配置hive-env.sh:
vi  hive-env.sh

HADOOP_HOME=/usr/hadoop/hadoop-2.7.3
export HIVE_CONF_DIR=/usr/hive/apache-hive-2.1.1-bin/conf
export HIVE_AUX_JARS_PATH=/usr/hive/apache-hive-2.1.1-bin/lib


(4)启动hadoop
cd /usr/hadoop//hadoop-2.7.3
sbin/start-all.sh
(5)启动元数据服务(或不需要)
bin/hive --service metastore
(6)初始化hive
schematool –initSchema –dbType derby

(7)启动hive
bin/hive

至此,内嵌模式已部署完成

关于本地模式和远程模式的安装与部署请看下期文章来源地址https://www.toymoban.com/news/detail-788535.html

到了这里,关于Hive数据库:嵌入、本地、远程全攻略(上)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 本地建隧道连接远程mysql数据库

    1、服务器mysql数据库本地连接开发3306有安全风险,开发和运营过程中往往需要本地操作数据库,远程上去操作数据库非常的不方便 2、在本地建隧道连接远程数据库,关闭服务器连接,数据库连接自动中断,安全又方便 3、下面是具体的操作流程,需要的小伙伴可以参考使用

    2024年02月10日
    浏览(44)
  • 如何在Linux用Docker部署MySQL数据库并远程访问本地数据库

    本文主要介绍如何使用Docker部署MySQL,并结合cpolar内网穿透工具实现远程访问本地数据库。 Docker提供了一个轻量级的容器化解决方案,可以更好的简化数据库的部署过程。让创建和管理MySQL数据库变得更简单快捷。下面就来分享一下具体的部署过程,并提出一些需要注意的事

    2024年03月10日
    浏览(41)
  • MariaDB数据库本地部署结合cpolar内网穿透实现远程连接

    本篇教程将使用cpolar内网穿透本地MariaDB数据库,并实现在外公网环境下使用navicat图形化工具远程连接本地内网的MariaDB数据库。 1. 配置MariaDB数据库 1.1 安装MariaDB数据库 进入MariaDB数据库官网https://mariadb.com/downloads/community/,然后下载相应的windows版本 下载好后点击安装,出现设置

    2024年02月03日
    浏览(54)
  • 公网环境使用navicat图形化工具远程连接本地MariaDB数据库

    本篇教程将使用cpolar内网穿透本地MariaDB数据库,并实现在外公网环境下使用navicat图形化工具远程连接本地内网的MariaDB数据库。 1. 配置MariaDB数据库 1.1 安装MariaDB数据库 进入MariaDB数据库官网https://mariadb.com/downloads/community/,然后下载相应的windows版本 下载好后点击安装,出现设置

    2024年02月04日
    浏览(65)
  • 如何搭建MariaDB并实现无公网ip环境远程连接本地数据库

    🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​ 💫个人格言:“没有罗马,那就自己创造罗马~” 本篇教程将使用cpolar内网穿透本地MariaDB数据库,并实现在外公网环境下使用navicat图形化工具远程连接本地内网的MariaDB数据库。 1. 配置MariaD

    2024年01月22日
    浏览(48)
  • IntelliJ IDEA如何使用固定地址公网远程访问本地Mysql数据库

    IDEA作为Java开发最主力的工具,在开发过程中需要经常用到数据库,如Mysql数据库,但是在IDEA中只能连接本地数据库,有时候需要访问其他地方如家里或者公司的数据库,将无法访问,内网的局限性导致我们只能在同一网络访问,无法跨网络访问,所以,本例将介绍如何在异

    2024年02月03日
    浏览(133)
  • 本地搭建Oracle数据库结合内网穿透实现公网环境远程访问

    最近,我发现了一个超级强大的人工智能学习网站。它以通俗易懂的方式呈现复杂的概念,而且内容风趣幽默。我觉得它对大家可能会有所帮助,所以我在此分享。点击这里跳转到网站。 Oracle,是甲骨文公司的一款关系数据库管理系统,它在数据库领域一直处于领先地位。可

    2024年02月01日
    浏览(48)
  • 【无公网IP内网穿透】异地远程访问本地SQL Server数据库

    目录 1.前言 2.本地安装和设置SQL Server 2.1 SQL Server下载 2.2 SQL Server本地连接测试 2.3 Cpolar内网穿透的下载和安装 2.3 Cpolar内网穿透的注册 3.本地网页发布 3.1 Cpolar云端设置 3.2 Cpolar本地设置 4.公网访问测试 5.结语 数据库的重要性相信大家都有所了解,作为各种数据的电子资料夹,

    2024年02月10日
    浏览(47)
  • 异地远程访问本地SQL Server数据库【无公网IP内网穿透】

    转发自CSDN远程穿透的文章:无需公网IP,远程连接SQL Server数据库【内网穿透】 数据库的重要性相信大家都有所了解,作为各种数据的电子资料夹,其中可能包含了各种信息,从企业员工信息到网站访问或成交数据无所不包,甚至在某些场景下,数据库已经成为企业正常运行

    2023年04月15日
    浏览(55)
  • CentOS本地部署SQL Server数据库无公网ip环境实现远程访问

    GeoServer是OGC Web服务器规范的J2EE实现,利用GeoServer可以方便地发布地图数据,允许用户对要素数据进行更新、删除、插入操作,通过GeoServer可以比较容易地在用户之间迅速共享空间地理信息。另外,GeoServer是开源软件。 下面介绍GeoServer web ui 管理界面 结合cpolar 内网穿透工具实

    2024年01月25日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包