Facebook解决海量日志数据的分析而开发了Hive,后来开源给了Apache软件基金会。
Hive可以将结构化的数据映射为一张数据表 而默认hive进行存储的数据库是derby 启动我们的hadoop服务 当我们安装好hive后,要将mysql-connector-java-xx.jar的文件包放到hive目录下的lib文件夹下:
之前的文章中我们提到了Hive是Hadoop生态系统中的重要的成员之一,允许用户使用类似SQL的方式,很方便地进行离线数据的统计分析。本节我们就在Hadoop集群的基础上进行Hive的安装与配置。
在《大数据之脚踏实地学09--Hive嵌入式安装》一文中我们详细介绍了Hive嵌入式的安装流程,即默认使用Hive的内置Derby数据库作为元信息的存储。但这样做存在一个非常大的弊端,那就是无法让多用户(即客户端)在同一个目录下同时访问数据库,这显然是有问题的。最常用的解决方案就是使用MySQL存储元信息,MySQL可以安装在master机器中,也可以安装在别的机器中。
设置完毕后,ssh localhost 不提示输入密码就表示已经设置好了公钥验证登陆
在每一个节点上安装hive,每一个hive是拥有一套自己的元数据,每个节点的库,表就不统一。所以安装一个MySQL让其他的节点都连接这一个MySQL。
将 mysql 数据库中的 hive 数据库中的 ROLES 表数据导入到 HDFS 中的 /tmp/root/111 目录下。执行代码如下:
经过查询,两台主机的地址分别是192.168.56.105和192.168.56.106,那么105作为本地,106作为远程
元数据服务(metastore)作用是:客户端连接metastore服务,metastore再去连接MySQL数据库来存取元数据。有了metastore服务,就可以有多个客户端同时连接,而且这些客户端不需要知道MySQL数据库的用户名和密码,只需要连接metastore 服务即可。
hive启动后运行命令时出现: FAILED: Error in metadata: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask 这种情况一般原因比较多,所以需要进行hive调试: 进
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
上次介绍了HDFS,本来想进入Mapreduce,但感觉Mapreduce基本废弃,于是直接进入了Hive中来。
hive 的下载地址为: https://archive.apache.org/dist/hive/
在 Mysql 修改Hive元数据表注释和字段注释的编码为 utf-8 在Hive的元数据库(MySQL)中运行: 修改表字段注解和表注解
📷 Hive基础02、安装Hive 前置 开启【hdfs】,六个服务都要在。 start-all.sh jps 📷 安装Hive 1、解压【Hive】 tar -zxvf apache-hive-2.1.0-bin.tar.gz 📷 由于命名不合适,所以更换一下: mv apache-hive-2.1.0-bin/ hive 📷 2、修改配置 在“/opt/hive/conf”目录下拷贝“hive-default.xml.template”与“hive-env.sh.template”两个文件,并将
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
Hive是种基于Hadoop的数据仓库工具,将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。
基于传统关系型数据库的稳定性,还是有很多企业将数据存储在关系型数据库中;早期由于工具的缺乏,Hadoop与传统数据库之间的数据传输非常困难。基于前两个方面的考虑,需要一个在传统关系型数据库和Hadoop之间进行数据传输的项目,Sqoop应运而生。
温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。 Fayson的github:https://github.com/fayson/cdhproject 提示:代码块部分可以左右滑动查看噢 1.文档编写目的 ---- 在前面Fayson介绍了《如何在CDH中安装和使用StreamSets》,通过StreamSets实现数据采集,在实际生产中需要实时捕获MySQL、Oracle等其他数据源的变化数据(简称CDC)将变化数据实时的写入大数据平台的Hive、HDFS、HBase、Solr、Elasti
Hive与HBase整合的实现是利用两者本身对外的API接口互相通信来完成的,其具体工作交由Hive的lib目录中的hive-hbase-handler-*.jar工具类来实现,通信原理如下图所示。
Hive是一个基于Hadoop的数据仓库, 可以将结构化的数据映射为一张数据表, 并提供简单的SQL查询功能, 他会将SQL转化为MapReduce的方式运行, 因为它支持原生的SQL语句,并能够将它转变为MapReduce任务, 所以特别的方便, 十分适合统计任务.
Zeppelin是一个基于Web的笔记本,可以直接在浏览器中编写代码,对数据进行查询分析并生成报表或图表,做出数据驱动的、交互、协作的文档,并且可以共享笔记。Zeppelin提供了内置的Apache Spark集成,提供的功能有:
本文介绍了如何使用HiveServer2和HiveServer1的配置和连接,以及如何使用Hive进行数据表创建、查询、删除等操作。同时,还介绍了一种通过Java API的方式对Hive进行操作的方法。另外,还探讨了如何通过使用MySQL的存储引擎来存储Hive的数据,以及如何使用MySQL的客户端工具来连接Hive和查询数据。最后,还介绍了一种通过配置防火墙来解决问题的方式。
默认情况下,Hive的元数据是存储到Derby中的,这是Apache的一个纯Java编写的小巧数据库,类似于Sqlite。但是这样就会出现一个情况:Derby是单例的,当你在一个终端打开了hive时,在另外一个终端打开hive命令行会报错。所以使用MySQL来存储元数据能够解决这个问题,并且也更方便迁移和备份。
在环境变量中增加如下命令,可以使用 bd 快速切换到 /data/tools/bigdata
基于 Hadoop 的一个数据仓库工具: hive本身不提供数据存储功能,使用HDFS做数据存储, hive也不分布式计算框架,hive的核心工作就是把sql语句翻译成MR程序 hive也不提供资源调度系统,也是默认由Hadoop当中YARN集群来调度 可以将结构化的数据映射为一张数据库表,并提供 HQL(Hive SQL)查询功能
安装hive包 [CDH下载地址](http://archive.cloudera.com/cdh5/cdh/5/) 1、将hive-0.13.1-cdh5.3.10.tar.gz使用WinSCP上传到sparkproject1的/usr/local目录下。 2、解压缩hive安装包:tar -zxvf hive-0.13.1-cdh5.3.6.tar.gz 3、重命名hive目录:mv hive-0.13.1-cdh5.3.6 hive 4、配置hive相关的环境变量 vi /etc/profile
为了一次性成功,在hive主目录下找到conf文件夹下的hive_env.sh,将其中得HADOOP_HOME和HIVE_CONF_DIR放开并怕配置
Hive是Hadoop生态中的一个重要组成部分,主要用于数据仓库。前面的文章中我们已经搭建好了Hadoop的群集,下面我们在这个群集上再搭建Hive的群集。
1.SecureCRT 7.3出现乱码或者删除不掉数据,免安装版的SecureCRT 卸载或者用虚拟机直接操作或者换安装版的SecureCRT
spark SQL经常需要访问Hive metastore,Spark SQL可以通过Hive metastore获取Hive表的元数据。从Spark 1.4.0开始,Spark SQL只需简单的配置,就支持各版本Hive metastore的访问。注意,涉及到metastore时Spar SQL忽略了Hive的版本。Spark SQL内部将Hive反编译至Hive 1.2.1版本,Spark SQL的内部操作(serdes, UDFs, UDAFs, etc)都调用Hive 1.2.1版本的class。
1、 准备环境 1, 软件准备 Java-- jdk-8u121-linux-x64.tar.gz Hadoop--hadoop-2.7.4.tar.gz (jdk1.7会报错) Hive-- apa
这里由于小编的这里在安装hive时,由于出现了启动hive时出现了和hadoop的版本不一致的原因,并且始终没有解决,所以就改变策略使用cdh版本的hadoop和hive.因为cdh版本的比较系统,兼容性好。因此要重新安装了。
本文承接上一篇:hive_学习_01_hive环境搭建(单机) ,主要是记录 hive 整合hbase的流程
上传安装包 apache-hive-2.3.4-bin.tar.gz 解压 tar -xzvf apache-hive-2.3.4-bin.tar.gz -C /hd/ 重命名 ln -s apache-hive-2.3.4-bin hive 修改环境变量 vim /etc/profile export HIVE_HOME=/hd/hive export PATH=$PATH:$HIVE_HOME/bin 环境变量起效果 source /etc/profile 修改配置文件 拷贝驱动mysql-conn
有赞大数据技术应用的早期,我们使用 Sqoop 作为数据同步工具,满足了 MySQL 与 Hive 之间数据同步的日常开发需求。
Sqoop可以在HDFS/Hive和关系型数据库之间进行数据的导入导出,其中主要使用了import和export这两个工具。这两个工具非常强大,提供了很多选项帮助我们完成数据的迁移和同步。比如,下面两个潜在的需求:
本篇演示使用Kettle操作Hadoop上的数据。首先概要介绍Kettle对大数据的支持,然后用示例说明Kettle如何连接Hadoop,如何导入导出Hadoop集群上的数据,如何用Kettle执行Hive的HiveQL语句,还会用一个典型的MapReduce转换,说明Kettle在实际应用中是怎样利用Hadoop分布式计算框架的。本篇最后介绍如何在Kettle中提交Spark作业。
本文主要通过Kettle完成对Hive和HBase中数据的读写工作,为了便于按照文档即可实现Kettle的读写Hive和HBase,文本前面也介绍下Hive的安装过程,如何Hive已经完成安装,可跳过前面即可。 实验环境: cetnos7.4
hive由Facebook开源用于解决海量结构化日志的数据统计。hive是基于Hadoop的一个数据仓库工具,是基于Hadoop之上的,文件是存储在HDFS上的,底层运行的是MR程序。hive可以将结构化的数据文件映射成一张表,并提供类SQL查询功能。
本篇博客,博主为大家带来的是大数据实战【千亿级数仓】阶段二的内容。
在前两篇文章中,我们从多个角度,由浅入深,对比了pandas和SQL在数据处理方面常见的一些操作。
1 假设Hadoop已经安装并配置正确,MySQL已经正确安装 2 为支持Hive的多用户多会话需求,需要使用一个独立的数据库存储元数据。 这里选择MySQL存储Hive的元数据,现在为Hive创建元数据库: mysql> create database hive; mysql> create user 'hive' identified by '123456'; mysql> grant all privileges on *.* to 'hive'@'%' with grant option; f
最近一个数据分析朋友需要学习 Hive,刚好我也想学,便利用手头的服务器搭建一个学习环境,但是搭建过程中,发现网上的教程很多过时了,而且部署过程中,很多地方走不通,博主也没有给出对应的说明。花了大力气才从各种资料中完成 Hadoop、Mysql、Hive 三者的部署。
下载安装mysql 下载并安装MySQL官方的 Yum Repository wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm` 使用上面的命令就直接下载了安装用的Yum Repository,大概25KB的样子,然后就可以直接yum安装了。 yum -y install mysql57-community-release-el7-10.noarch.rpm` 下面就是使用yum安装MySQL了 y
Hive可以管理HDFS中的数据,可以通过SQL语句可以实现与MapReduce类似的同能,因为Hive底层的实现就是通过调度MapReduce来实现的,只是进行了包装,对用户不可见。 Hive对HDFS的支持只是在HDFS中创建了几层目录,正真的数据存在在MySql中,MYSQL中保存了Hive的表定义,用户不必关系MySQL中的定义,该层对用户不可见。Hive中的库在HDFS中对应一层目录,表在HDFS中亦对应一层目录,如果在对应的表目录下放置与表定义相匹配的数据,即可通过Hive实现对数据的可视化及查询等功能 综上所述,Hive实现了对HDFS的管理,通过MySQL实现了对HDFS数据的维度管理 Hive基本功能及概念 database table 外部表,内部表,分区表 Hive安装 1. MySql的安装(密码修改,远程用户登陆权限修改) 2. Hive安装获取,修改配置文件(HADOOP_HOME的修改,MySQL的修改) 3. 启动HDFS和YARN(MapReduce),启动Hive Hive基本语法: 1. 创建库:create database dbname 2. 创建表:create table tbname Hive操作: 1. Hive 命令行交互式 2. 运行HiveServer2服务,客户端 beeline 访问交互式运行 3. Beeline 脚本化运行 3.1 直接在 命令行模式下 输入脚本命令执行(比较繁琐,容易出错,不好归档) 3.2 单独保存SQL 命令到 文件,如etl.sql ,然后通过Beeline命令执行脚本 数据导入: 1. 本地数据导入到 Hive表 load data local inpath "" into table .. 2. HDFS导入数据到 Hive表 load data inpath "" into table .. 3. 直接在Hive表目录创建数据 Hive表类型: 1. 内部表: create table 表数据在表目录下,对表的删除会导致表目录下的数据丢失,需要定义表数据的分隔符。 2. 外部表: create external table 表目录下挂载表数据,表数据存储在其他HDFS目录上,需要定义表数据的分隔符。 3. 分区表:与创建内部表相同,需要定义分区字段及表数据的分隔符。在导入数据时需要分区字段,然后会在表目录下会按照分区字段自动生成分区表,同样也是按照目录来管理,每个分区都是单独目录,目录下挂载数据文件。 4. CTAS建表 HQL 1. 单行操作:array,contain等 2. 聚合操作:(max,count,sum)等 3. 内连接,外连接(左外,右外,全外) 4. 分组聚合 groupby 5. 查询 : 基本查询,条件查询,关联查询 6. 子查询: 当前数据源来源于 另个数据执行的结果,即当前 table 为临时数据结果 7. 内置函数: 转换, 字符串, 函数 转换:字符与整形,字符与时间, 字符串:切割,合并, 函数:contain,max/min,sum, 8. 复合类型 map(key,value)指定字符分隔符与KV分隔符 array(value)指定字符分隔符 struct(name,value) 指定字符分割与nv分隔符 9. 窗口分析函数 10. Hive对Json的支持
Hive是一个数据仓库基础工具在Hadoop中用来处理结构化数据。它架构在Hadoop之上,总归为大数据,并使得查询和分析方便。 最初,Hive是由Facebook开发,后来由Apache软件基金会开发,并作为进一步将它作为名义下Apache Hive为一个开源项目。它用在好多不同的公司。例如,亚马逊使用它在 Amazon Elastic MapReduce。
是否继续?[y/N]:y 2.下载 mysql57-community-release-el7-8.noarch.rpm 的 YUM 源:
领取专属 10元无门槛券
手把手带您无忧上云