hadoop01-hadoop04:hadoop集群 hadoop01:MySQL服务器 hadoop02:Hive
hadoop01-hadoop04:hadoop集群 hadoop01:MySQL服务器 hadoop02:Hive服务端 hadoop03-hadoop04:Hive客户端
Zeppelin是一个基于Web的笔记本,可以直接在浏览器中编写代码,对数据进行查询分析并生成报表或图表,做出数据驱动的、交互、协作的文档,并且可以共享笔记。Zeppelin提供了内置的Apache Spark集成,提供的功能有:
上次介绍了HDFS,本来想进入Mapreduce,但感觉Mapreduce基本废弃,于是直接进入了Hive中来。
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的支持
1.非root用户连接mysql服务时,报如下错误, ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 原来是mysql服务没有启动,启动mysql服务时候,一直失败,sudo切换执行命令mysql -uroot -proot即可。 2.安装hive和mysql完成后,将mysql的连接jar包拷贝mysql-connector-java-x.x.xx-
当我们的数据采集到hdfs层上之后,我们就开开始对数据进行建模以便后来分析,那么我们整体的架构先放在每个建模层级的最前面
tar -zxvf apache-hive-1.2.1-bin.tar.gz -C /itcast/
Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。
hive是基于Hadoop的一个数据仓库的机制。hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将SQL语句转变成MapReduce任务来执行。
发生依赖冲突主要表现为系统启动或运行中会发生异常,99%表现为三种NoClassDefFoundError、ClassNotFoundException、NoSuchMethodError。
Apache Sqoop是在Hadoop生态体系和RDBMS体系之间传送数据的一种工具。来自于Apache软件基金会提供。
sqoop是Apache旗下一款Hadoop和关系型数据服务器之间传送数据的的工具,其核心功能主要是两点:
在做数据导出之前,我们看一下已经完成的操作:数据分析阶段将指标统计完成,也将统计完成的指标放到Hive数据表中,并且指标数据存储到HDFS分布式文件存储系统。
基础依赖环境 Apache Hadoop2.7.1 Apache Spark1.6.0 Apache Hive1.2.1 Apache Hbase0.98.12 (1)提前安装好scala的版本,我这里是2.11.7 (2)下载spark-1.6.0源码,解压进入根目录编译 (3)dev/change-scala-version.sh 2.11 修改pom文件,修改对应的hadoop,hbase,hive的版本 执行编译支持hive功能的spark (4)mvn -Pyarn
将MySQL的驱动jar包上传至虚拟机,然后将该jar包复制到hive安装路径下的lib文件夹中
这里我们选用hive的版本是3.1.0这个release版本,可以兼容我们对应的hadoop3.x的版本
tar xivf apache-hive-3.1.2-bin -C /opt/hive/
在《大数据之脚踏实地学09--Hive嵌入式安装》一文中我们详细介绍了Hive嵌入式的安装流程,即默认使用Hive的内置Derby数据库作为元信息的存储。但这样做存在一个非常大的弊端,那就是无法让多用户(即客户端)在同一个目录下同时访问数据库,这显然是有问题的。最常用的解决方案就是使用MySQL存储元信息,MySQL可以安装在master机器中,也可以安装在别的机器中。
0、安装前提 安装配置jdk与hadoop 安装配置好mysql 1、下载上传 下载hive,地址:http://mirror.bit.edu.cn/apache/hive/ 上传到指定位置scp apache-hive-3.1.2-bin.tar.gz root@Carlota1:/usr/local/apps 2、解压安装 tar -zxvf apache-hive-3.1.2-bin.tar.gz mv apache-hive-3.1.2-bin hive-3.1.2 3、修改环境变量/etc/pro
下载 mysql-connector-java-5.1.47.jar ,添加到 lib目录下
还用说么,引入相关jar包(等下再一一说明) 包括scala,spark-assembly-1.4.1-hadoop2.5.0-cdh5.2.1.jar(按照你的spark和hadoop版本),还有在spark的lib下datanucleus的jar,mysql的数据源连接,这都是必须的~
连接传统关系型数据库和Hadoop的桥梁 把关系型数据库的数据导入到 Hadoop 系统 ( 如 HDFS、HBase 和 Hive) 中; 把数据从 Hadoop 系统里抽取并导出到关系型数据库里
摘 要 本文介绍hive工具的安装及整合mysql 下载Hive 点击hive官方下载 hive目前两个运行版本分为两个分支:1.x 、2.x 1.x主要是运行在MapReduce上面。 2.x主要运行在Spark上面。 安装及配置 上传并解压Hive 将Hive上传到hadoop集群服务器/itunic/目录下,并解压到当前目录。 tar -zxvf apache-hive-1.2.1-bin.tar.gz 2.将hive配置到环境变量 vi /etc/profile #set hive env ex
Hive中搭建分为三中方式 a)内嵌Derby方式 b)Local方式 c)Remote方式 三种方式归根到底就是元数据的存储位置不一样。
2.如果出现如下截图内容,则认为安装了mysql(CentOS6.5默认自带安装了mysql)
sqoop是apache旗下一款“Hadoop和关系数据库服务器之间传送数据”的工具。
默认情况下,Hive的元数据是存储到Derby中的,这是Apache的一个纯Java编写的小巧数据库,类似于Sqlite。但是这样就会出现一个情况:Derby是单例的,当你在一个终端打开了hive时,在另外一个终端打开hive命令行会报错。所以使用MySQL来存储元数据能够解决这个问题,并且也更方便迁移和备份。
win10安装Hadoop3.0.0:https://blog.csdn.net/qq262593421/article/details/105927625
https://blog.csdn.net/dream_an/article/details/80258283
关于Hive的配置 1. 安装Mysql 在集群中选择一台节点进行安装mysql yum -y install mariadb-server mariadb 开启服务并配置开机自启 systemctl start mariadb.service systemctl enable mariadb.service 设置密码,第一次登录时密码为空,之后设置使用sql语句设置密码 mysql -u root -p # 登录之后,先查看database
Sqoop简介以及安装 近期用到Sqoop进行数据导出导入,发现网上很多的博客都不够精细,所以本人就针对Sqoop1.4.7的官方文档进行了学习,以下是学习笔记。 一、介绍 sqoop是沟通HDFS和关系型数据库的桥梁,可以从HDFS导出数据到关系型数据库,也可以从关系型数据库导入数据到HDFS。当然也支持Hive、HBase跟关系型数据库之间的互相导出导入。这是一个可以进行双向转化数据的工具。 二、安装 1、下载 Sqoop是Apache提供的工具,下载的时候一定要先确定hadoop的
📷 随着spark越来越流行,我们的很多组件都有可能和spark集成,比如说spark处理完的数据写入mysql,redis,或者hbase,elasticsearch,spark本身不包含db的依赖的,这就需要自己解决依赖的jar包,这里大致有两种处理思路处理依赖问题: (1)使用maven将整个依赖打成一个fat的jar,这样所有的依赖都会在一个jar包,这样的好处就是一个jar包包含所有依赖,不需要额外考虑依赖的问题,但是弊端也非常明显如果依赖多的话jar包的体积会非常大超过100M都很正常
在Hive 3.0.0以及之后,Hive Metastore便可独立于Hive单独运行,可作为各数据的元数据中心。本文介绍使用Docker运行Hive Standalone Metastore,并以Presto中的Hive连接器为例,通过Hive Metastore管理MinIO(S3兼容的对象存储)中的数据。
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
解压apache-hive-1.2.1-bin.tar.gz 到/usr/local/src下,并且将其重命名为hive
Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。
1.自从spark2.0.0发布没有assembly的包了,在jars里面,是很多小jar包
HIVE的UDF以及JDBC编程 一、UDF UDF是用来对HIVE函数库进行扩展的,可以利用java代码进行自定义的功能需求。 1、步骤 1.新建java工程。 2.导入HIVE相关包,jar包在HIVE安装程序的lib目录下,只需要拷贝jar包即可。 3.创建类继承UDF类。 4.自己编写一个名为evaluate方法,返回值和参数任意,但是方法名字必须是evluate。 为了能让mapreduce处理,String要用Text处理。 5.将写好的类
1、 准备环境 1, 软件准备 Java-- jdk-8u121-linux-x64.tar.gz Hadoop--hadoop-2.7.4.tar.gz (jdk1.7会报错) Hive-- apa
在上篇文章手把手教你安装 azkaban 运行环境中,详细介绍了azkaban服务的安装,现在就用SpringBoot来开发一个azkaban的调度任务,上传到web界面运行。
SQuirreL SQL Client是一个使用Java写的访问各种数据库客户端工具,使用JDBC统一了数据库的访问接口,通过SQuirreL SQL Client提供的统一用户界面操作任何支持JDBC访问的数据库。本篇文章Fayson主要介绍使用SQuirreL工具访问CDH集群中Hive。
(一)Hive+Solr简介 Hive作为Hadoop生态系统里面离线的数据仓库,可以非常方便的使用SQL的方式来离线分析海量的历史数据,并根据分析的结果,来干一些其他的事情,如报表统计查询等。 Solr作为高性能的搜索服务器,能够提供快速,强大的全文检索功能。 (二)为什么需要hive集成solr? 有时候,我们需要将hive的分析完的结果,存储到solr里面进行全文检索服务,比如以前我们有个业务,对我们电商网站的搜索日志使用hive分析完后 存储到solr里面做报表查询,因为里面涉及到搜索
hive --service metastore & hive --service hiveserver2 &
这里给大家列出来了一部分Sqoop操作时的常用参数,以供参考,需要深入学习的可以参看对应类的源代码。
下载安装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
在上篇文章手把手教你安装 azkaban 运行环境中,详细介绍了 azkaban服务的安装,现在就用SpringBoot来开发一个azkaban的调度任务,上传到web界面运行。
最近在研究hdfs,hive与ranger配合完成ACL访问控制,本文总结下遇到的问题。
解压hive压缩包 apache-hive-2.1.0-bin.tar.gz(官网下载) 配置HADOOP_HOME环境变量 配置HIVE_HOME环境变量 在$HIVE_HOME/conf下创建hi
这周真的是忙出天际,趁这会儿下班,赶紧补补文档,之前有说要整整血缘这块儿,源码都看好了,但没有展示的地方。
领取专属 10元无门槛券
手把手带您无忧上云