大数据利器Hive】的更多相关文章

序言:在大数据领域存在一个现象,那就是组件繁多,粗略估计一下轻松超过20种.如果你是初学者,瞬间就会蒙圈,不知道力往哪里使.那么,为什么会出现这种现象呢?在本文的开头笔者就简单的阐述一下这种现象出现的原因,相信对一直陪伴笔者的你会有所帮助. 行文思路 大数据组件来源 Hive简介 定义 hive特点 hive基本语法 Hive原理 hive架构图 hive内核 hive底层存储 hive程序执行过程 hive元数据存储 hive客户端 Hive调优 基于mapreduce优化 合理设置map数…
一.背景介绍 最近几天,接到公司的一个将当前大数据平台数据全部迁移到阿里云ODPS平台上的任务.而申请的这个ODPS平台是属于政务内网的,因考虑到安全问题当前的大数据平台与阿里云ODPS的网络是不通的,所以不能使用数据采集工作流模板. 然而,考虑到原大数据平台数据量并不是很大,可以通过将原大数据平台数据导出到CSV文件,然后再将CSV文件导入到ODPS平台.在这个过程中踩的坑有点多,所以想写篇文档作为记录. 二.大数据平台Hive数据导出到本地 编写export_data.sh脚本如下: #!/…
第1章 Hive基本概念 1.1 什么是Hive Hive:由Facebook开源用于解决海量结构化日志的数据统计. Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类SQL查询功能. 本质是:将HQL转化成MapReduce程序 1)Hive处理的数据存储在HDFS 2)Hive分析数据底层的实现是MapReduce 3)执行程序运行在Yarn上 1.2 Hive的优缺点 1.2.1 优点 1) 操作接口采用类SQL语法,提供快速开发的能力(简单.容易上…
什么是Hive Hive:由Facebook开源用于解决海量结构化日志的数据统计. Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类SQL查询功能. 本质是:将HQL转化成MapReduce程序 1)Hive处理的数据存储在HDFS 2)Hive分析数据底层的实现是MapReduce 3)执行程序运行在YARN上 为什么使用Hive 1)直接使用hadoop所面临的问题 (1)人员学习成本太高 (2)项目周期要求太短 (3)MapReduce实现复杂查询…
1.limit限制调整 一般情况下,Limit语句还是需要执行整个查询语句,然后再返回部分结果. 有一个配置属性可以开启,避免这种情况---对数据源进行抽样 hive.limit.optimize.enable=true --- 开启对数据源进行采样的功能 hive.limit.row.max.size --- 设置最小的采样容量 hive.limit.optimize.limit.file --- 设置最大的采样样本数 缺点:有可能部分数据永远不会被处理到   2.JOIN优化 1).  将大…
前言 Hadoop和Hive的环境已经搭建起来了,开始导入数据进行测试.我的数据1G大概对应500W行,MySQL的查询500W行大概3.29秒,用hive同样的查询大概30秒.如果我们把数据增加到10G,100G,让我们来看看Hive的表现吧. 目录 导出MySQL数据 导入到Hive 优化导入过程Hive Bucket 执行查询 1. 导出MySQL数据 下面是我的表,每天会产生一新表,用日期的方式命名.今天是2013年7月19日,对应的表是cb_hft,记录数646W条记录. mysql>…
1 建表 create table student(id int,name string ,age int) row format delimitedfields terminated by ','; 2 创建一个student.txt 添加数据 ,zhangsan, ,lisi, ,wnagwu, 3 上传 hdfs dfs -put student.txt /user/hive/warehouse/student 4 select * from student; 5 通常不会通过put方式加…
1. hive的数据类型Hive的内置数据类型可以分为两大类:(1).基础数据类型:(2).复杂数据类型2. hive基本数据类型基础数据类型包括:TINYINT,SMALLINT,INT,BIGINT,BOOLEAN,FLOAT,DOUBLE,STRING,BINARY,TIMESTAMP,DECIMAL,CHAR,VARCHAR,DATE. 3. hive集合类型集合类型主要包括:array,map,struct等,hive的特性支持集合类型,这特性是关系型数据库所不支持的,利用好集合类型可…
Hive应用开发 了解Hive的基本架构原理 掌握JDBC客户端开发流程 了解ODBC客户端的开发流程 了解python客户端的开发流程 了解Hcatalog/webHcat开发接口 掌握Hive开发规则 1. 了解Hive的基本架构原理守护进程: HiveServer(Thrift/Compiler) webHcat MetaStore Hive的应用场景 数据挖掘 非实时分析 数据汇总 作为数据仓库 2. 掌握JDBC客户端开发流程JDBC开发-参数初始化 设置ZooKeeper地址 krb…
常规调优手段 Fetch抓取 某些情况查询不必用MapReduce计算,比如select*,可以直接读取文件 本地模式 有时数据量比较小,hive可以通过本地模式在单台机器上处理所有任务,对于小数据集,执行时间可以被明显缩短. JVM重用 对于大量小文件,可开启JVM重用,即多个任务共用一个JVM而不用频繁开启和关闭 推测执行 对于一些bug或者资源分配不均等情况拖后腿的MapReduce任务,会推测出这样的任务并且开启备份任务,与该任务处理同一份数据,最终选用快的那个作为结果 严格模式(开启后…
写在前面 hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行.Hive的运行原理--实际上是mapreduce的客户端,最终转换为mapreduce程序放到yarn上面执行. 常见问题 1.什么是metastore. metadata即元数据.包含database.tabel.column names.partitions信息.bucketing信息等的元数据信息. 元数据默认是…
一.ORC File文件结构 ORC的全称是(Optimized Row Columnar),ORC文件格式是一种Hadoop生态圈中的列式存储格式,它的产生早在2013年初,最初产生自Apache Hive,用于降低Hadoop数据存储空间和加速Hive查询速度.和Parquet类似,它并不是一个单纯的列式存储格式,仍然是首先根据行组分割整个表,在每一个行组内进行按列存储.ORC文件是自描述的,它的元数据使用Protocol Buffers序列化,并且文件中的数据尽可能的压缩以降低存储空间的消…
1 内置函数 测试各种内置函数的快捷方法: 1.创建一个dual表 create table dual(id string); 2.load一个文件(一行,一个空格)到dual表 3.select substr('angelababy',2,3) from dual; 2 自定义函数UDF(user-defined function)和transform 自定义函数类别 UDF  作用于单个数据行,产生一个数据行作为输出.(数学函数,字符串函数) UDAF(用户定义聚集函数):接收多个输入数据行…
1新建一个数据库 create database db3; 2创建一个外部表 --外部表建表语句示例: create external table student_ext(Sno int,Sname string,Sex string,Sage int,Sdept string) row format delimited fields terminated by ',' location '/stu'; 3添加数据 vi student.txt ,李勇,男,,CS ,刘晨,女,,IS ,王敏,女…
show databases; desc t_partition001; desc extended t_partition002; desc formatted t_partition002; !clear; !ls; dfs -ls /; 2 DML操作 load load data local inpath '/root/hivedata/t_partitioned' into table t_partition001 partition(country="Japan"); lo…
1上传压缩包 2 解压 tar -zxvf apache-hive-1.2.1-bin.tar.gz -C apps 3 重命名 mv apache-hive-1.2.1-bin hive 4 设置环境变量 vi /etc/profile expert HIVE_HOME=/root/apps/hiveexport PATH=$PATH:$HIVE_HOME/bin 5 启动hive cd apps/hive bin/hive 出现上面的问题是因为版本不兼容 解决一下版本不兼容问题:替换 app…
写mapreduce程序时,如果reduce个数>1,想要实现全排序需要控制好map的输出,详见Hadoop简单实现全排序. 现在学了hive,写sql大家都很熟悉,如果一个order by解决了全排序还用那么麻烦写mapreduce函数吗? 事实上,hive使用order by会默认设置reduce的个数=1,既然reducer的个数都是1了,结果自然全排序! 这也违背了充分利用分布式计算进行海量数据排序的初衷,效率低下. 那么hive又提供了一个可供选择的方式:sort by 它会保证每个r…
ABC三个hive表 每个表中都只有一列int类型且列名相同,求三个表中互不重复的数 create table a(age int) row format delimited fields terminated by ','; create table b(age int) row format delimited fields terminated by ','; create table c(age int) row format delimited fields terminated by…
1 创建一个分区表 create table t_partition001(ip string,duration int) partitioned by(country string) row format delimited fields terminated by ','; 2 添加数据 load data local inpath '/root/hivedata/t_partitioned' into table t_partition001 partition(country="Chin…
Hive交互shell bin/hive Hive JDBC服务 hive也可以启动为一个服务器,来对外提供 启动方式,(假如是在itcast01上): 启动为前台:bin/hiveserver2 启动为后台:nohup bin/hiveserver2 1>/var/log/hiveserver.log 2>/var/log/hiveserver.err & 启动成功后,可以在别的节点上用beeline去连接 v  方式(1) hive/bin/beeline  回车,进入beelin…
摘要:4月24日-26日,HDC.Cloud2021在深圳大学城成功举办,华为云FusionInsight MRS云原生数据湖带来最懂行的大数据解决方案,为政企客户提供湖仓一体.云原生的大数据解决方案,一个架构可构建3种数据湖:离线数据湖.实时数据湖.逻辑数据湖,更有现场沙箱实验和名师大讲堂,一起来细品. 2021年4月26日,HDC.Cloud2021(华为开发者大会2021)成功落下帷幕.本次大会,华为云FusionInsight MRS云原生数据湖带着"一架构三湖"的愿景与使命来…
Hadoop3 大数据分析 零.前言 一.Hadoop 简介 二.大数据分析概述 三.MapReduce 大数据处理 四.基于 Python 和 Hadoop 的科学计算和大数据分析 五.基于 R 和 Hadoop 的统计大数据计算 六.Apache Spark 批处理分析 七.Apache Spark 实时分析 八.Apache Flink 批处理分析 九.Apache Flink 流处理 十.可视化大数据 十一.云计算简介 十二.使用亚马逊网络服务 Hadoop 和 R 大数据分析 零.前言…
目前最流行的大数据查询引擎非hive莫属,它是基于MR的类SQL查询工具,会把输入的查询SQL解释为MapReduce,能极大的降低使用大数据查询的门槛, 让一般的业务人员也可以直接对大数据进行查询.但因其基于MR,运行速度是一个弊端,通常运行一个查询需等待很久才会有结果.对于此情况,创造了hive的facebook不负众望,创造了新神器---presto,其查询速度平均比hive快10倍,现在就来部署体验一下吧. 一. 准备工作 操作系统: centos7 JAVA:         JDK8…
前言 本文适合已经初步了解 Ambari 的读者.对 Ambari 的基础知识,以及 Ambari 的安装步骤还不清楚的读者,可以先阅读基础篇文章<Ambari——大数据平台的搭建利器>. Ambari 的现状 目前 Apache Ambari 的最高版本是 2.0.1,最高的 Stack 版本是 HDP 2.2.未来不久将会发布 Ambari 2.1 以及 HDP 2.3(本文也将以 Ambari 2.0.1 和 HDP 2.2 为例进行讲解).其实在 Ambari trunk 的 code…
前言 Pig最早是雅虎公司的一个基于Hadoop的并行处理架构,后来Yahoo将Pig捐献给Apache的一个项目,由Apache来负责维护,Pig是一个基于 Hadoop的大规模数据分析平台. Pig为复杂的海量数据并行计算提供了一个简 易的操作和编程接口,这一点和FaceBook开源的Hive一样简洁,清晰,易上手! 一.Pig概述 Pig包括 两部分 1:用于描述数据流的语言,称为 Pig Latin (拉丁猪,个人翻译) 2:用于运行PigLatin程序的 执行环境 .一个是 本地 的单…
Hive出现的背景 Hadoop提供了大数据的通用解决方案,比如存储提供了Hdfs,计算提供了MapReduce思想.但是想要写出MapReduce算法还是比较繁琐的,对于开发者来说,需要了解底层的hadoop api.如果不是开发者想要使用mapreduce就会很困难.... 另一方面,大部分的开发者都有使用SQL的经验.SQL成为开发者必备的技能... 那么可以不可以使用SQL来完成MapReduce的过程呢?-- 答案就是,Hive Hive能够解决的问题 Hive可以帮助开发者从现有的数…
Hive作为大数据环境下的数据仓库工具,支持基于hadoop以sql的方式执行mapreduce的任务,非常适合对大量的数据进行全量的查询分析. 本文主要讲述下hive载cli中如何导入导出数据: 导入数据 第一种方式,直接从本地文件系统导入数据 我的本机有一个test1.txt文件,这个文件中有三列数据,并且每列都是以'\t'为分隔 [root@localhost conf]# cat /usr/tmp/test1.txt 1 a1 b1 2 a2 b2 3 a3 b3 4 a4 b 创建数据…
SQL里面通常都会用Join来连接两个表,做复杂的关联查询.比如用户表和订单表,能通过join得到某个用户购买的产品:或者某个产品被购买的人群.... Hive也支持这样的操作,而且由于Hive底层运行在hadoop上,因此有很多地方可以进行优化.比如小表到大表的连接操作.小表进行缓存.大表进行避免缓存等等... 下面就来看看hive里面的连接操作吧!其实跟SQL还是差不多的... 数据准备:创建数据-->创建表-->导入数据 首先创建两个原始数据的文件,这两个文件分别有三列,第一列是id.第…
一.搭建hadoop环境 <OD大数据实战>hadoop伪分布式环境搭建 二.Hive环境搭建 1. 准备安装文件 下载地址: http://archive.cloudera.com/cdh5/cdh/5/ hive-0.13.1-cdh5.3.6.tar.gz 2. 解压 -cdh5.3.6.tar.gz -C /opt/modules/cdh/ 3. 修改配置 cd /opt/modules/cdh/hive--cdh5.3.6/conf mv hive-env.sh.template h…
我最近研究了hive的相关技术,有点心得,这里和大家分享下. 首先我们要知道hive到底是做什么的.下面这几段文字很好的描述了hive的特性: 1.hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句转换为MapReduce任务进行运行.其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析. 2.Hive是建立在 Hadoop…