自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (2)
  • 问答 (1)
  • 收藏
  • 关注

原创 Hive:调优

Hive 优化 核心思想:把 Hive SQL 当做 Mapreduce 程序去优化 以下 SQL 不会转为 Mapreduce 来执行 select 仅查询本表字段 where 仅对本表字段做条件过滤 Explain 显示执行计划 explain extended SQL语句 Hive 抓取策略 Hive 中对某些情况的查询不需要使用 MapReduce 计算 抓取策略 Set hive.fetch.task.conversion=...

2021-08-24 13:57:05 155

原创 Hive:权限管理

Storage Based Authorization in the Metastore Server 基于存储的授权,可以对 Metastore 中的元数据进行保护,但是没有提供更加细粒度的访问控制(如:列级别、行级别) SQL Standards Based Authorization in HiveServer2 ​​​​​​​基于 SQL 标准的 Hive 授权,完全兼容 SQL 的授权模型,推荐使用该模式 Default Hive Authorization(Legacy Mode

2021-08-09 10:14:50 1119

原创 Hive:Join

数据表Join 用法inner join 内连接 两表必须有匹配的记录 select a.id,a.name,a.age,a.gender,b.likes,b.address from psn as a inner join psn2 as b on (a.id=b.id);left outer join 左外连接 左表显示全,不管右表是否有对应记录(有就正常显示,没有就是 Null) select a.id,a.name,a.age,a.gender,b.li..

2021-08-08 10:38:00 135

原创 Hive:索引

目的:优化查询以及检索性能创建索引create index index_psn on table psn(name)as 'org.apache.hadoop.hive.ql.index.compact.CompactIndexHandler' with deferred rebuildin table index_psn_table;create index index2_psn on table psn(name)as 'org.apache.hadoop.hive.ql.in.

2021-07-25 15:19:36 142

原创 Hive:视图

与关系型数据库中的普通视图一样,hive 也支持视图 特点 不支持物化视图 只能查询,不能做加载数据操作 视图的创建,只是保存一份元数据,查询视图时才执行对应的子查询 view 定义中若包含了 order by / limit 语句,当查询视图时也进行 order by / limit 语句操作,view 当中定义的优先级更高 view 支持迭代视图 语法create view 视图表名 as SQL语句select * from 视图表名drop view 视图表名

2021-07-25 14:19:36 568

原创 Hive:Lateral 视图、SQL执行计划

视图 用于和 UDTF 函数 (explode、split)结合来使用 首先通过 UDTF 函数拆分成多行,再将多行结果组合成一个支持别名的虚拟表 主要解决在 select 使用 UDTF 做查询过程中,查询只能包含单个 UDTF,不能包含其它字段、以及多个 UDTF 的问题 语法 lateral view explode(字段) 临时表名 as 别名 例 1 数据源 处理后 例 2 执行计算 explain extended ..

2021-07-25 12:52:57 226

原创 Hive:分桶

分桶 分桶表是对列值取哈希值的方式,将不同数据放到不同文件中存储 对于 hive 中每一个表,分区都可以进一步进行分桶 由:列的哈希值 /(除以)桶的个数 决定每条数据划分在哪个桶中 与分区的区别 分区:多级目录、每个目录存储固定特征的文件 场景 数据抽样 (sampling) 开启支持分桶 set hive.enforce.bucketing=true 1.X 默认是 false 2.x 之后没有,但是默认是支持的 MR 运行时会根据...

2021-07-24 09:51:14 360

原创 Hive:动态分区

动态分区注 分区列中文报错 一般情况不建议使用中文 若公司的 hive 并未修改编码,你若不仔细查看一番,直接使用中文,后果自负 执意使用中文分区列时 配置 mysql 的编码 配置 mysql 中的 hive 库的相关编码 导入数据时 load data 无效 导入数据前需要配置 set hive.exec.dynamic.partition.mode = nonstrice 建议先将数据插入一张表里,然后再从这个表导入分区表 ..

2021-07-23 14:14:14 245

原创 Hive:运行方式

命令行方式 Cli:控制台 可在 hive 中可执行 hdfs 命令(从 dfs 开始写) 比较 hive中:由于已经产生连接,可直接执行 普通情况:hdfs dfs ..... 需要先生产连接,再执行,速度显慢 可在 hive 中可执行 linux 系统命令(先输入叹号) 只适合部分命令 变量(在进入 hive 时直接设置) -d 设置变量 hive -d 变量名=值 之后使用时 ${变量名} (大括号) -S...

2021-07-23 10:27:58 157

原创 Hive:参数使用

以表头为例查询无表头(默认)方法一:(当前会话生效)方法二:(当前会话生效)方法三:创建这个文件,添加配置,即可(当前用户生效)注:.hivehistory 文件:记录 hive 操作命令历史方法四:配置 hive-site.xml (全局配置)不建议使用某些参数只使用一次、或只限自己适用,若还设置全局,会影响其他人在 hive 输入 set 会显示出当前会话所有参数(参数太多无法全部显示,有必要,则导入文本 ).

2021-07-23 10:26:39 60

原创 Hive:(永久|临时)自定义函数

写的不到位的地方,欢迎评论指出不足之处代码package com.my.hive.demo;import org.apache.hadoop.hive.ql.exec.UDF;import org.apache.hadoop.io.Text;public class AddString extends UDF { public Text evaluate(final Text t) { if (t == null) return ne.

2021-07-21 19:50:31 437

原创 Hive:Idea 开发 Client

写的不到位的地方,欢迎评论指出不足之处数据192.168.1.4 - - [20/Jul/2021:9:20:30 +0800] "GET /1.png HTTP/1.1" 304 -192.168.1.4 - - [20/Jul/2021:9:20:30 +0800] "GET /1.PNG HTTP/1.1" 304 -192.168.1.4 - - [20/Jul/2021:9:20:31 +0800] "GET /1.jpg HTTP/1.1" 304 -192.168.1.4 .

2021-07-21 13:13:43 77

原创 Hive:hiveserver2 的配置使用

写的不到位的地方,欢迎评论指出不足之处本人虚拟机环境部署 one two three four NameNode yes yes DataNode yes yes yes ZookepperFailoverController yes yes Zookepper yes yes yes NodeManage .

2021-07-21 12:40:06 445

原创 Hive:正则表达式

写的不到位的地方,欢迎评论指出不足之处SerdeSerializer and Deserializer :用于序列化和反序列化 构建在数据存储和执行引擎之间,对两者实现解耦 Hive 通过 row format delimited 以及 serde 进行内容的读写实例数据192.168.1.4 - - [20/Jul/2021:9:20:30 +0800] "GET /1.png HTTP/1.1" 304 -192.168.1.4 - - [20/Jul/2021:9:20:.

2021-07-20 14:58:45 96

原创 Hive:一张表数据分别向多个张表插入数据

创建(有)数据表,并插入数据创建多张空表一张表的数据分开向多张表插入一张表的数据向另一张表插入

2021-07-19 16:18:35 808

原创 Hive:创建分区表并插入数据

Hive 分区 partition 必须在表定义时,指定对应的 partition 字段create table day table(id int, content string) partitioned by (dt string);单分区建表语句 单分区表、按天分区、在表结构中存在 id,content,dt 三列,dt 为文件夹区分 create table dayhour_table(id int, content string) partitioned by (dt strin

2021-07-19 16:01:51 7522

原创 Hive:创建(内|外)表并插入数据

1、创建数据库create database test;2、创建内部表(设置分隔符)fields 字段分隔符,collection 数组连接符,map keys的分隔符create table psn(id int,name string,likes array<string>,address map<string,string>)row format delimitedfields terminated by ','collection i

2021-07-19 15:03:22 2648

原创 Hive:远程通过MetaStoreServer访问数据库

本人虚拟机环境部署 one two three four NameNode yes yes DataNode yes yes yes ZookepperFailoverController yes yes Zookepper yes yes yes NodeManage yes yes yes

2021-07-19 14:14:30 270

原创 Hive:远程访问(元数据)数据库

写的不到位的地方,欢迎评论指出不足之处本人虚拟机环境部署 one two three four NameNode yes yes DataNode yes yes yes ZookepperFailoverController yes yes Zookepper yes yes yes NodeManage .

2021-07-19 13:22:54 436

原创 Hive:初始

写的不到位的地方,欢迎评论指出不足之处产生 非 JAVA 编程者对 HDFS 的数据做 mapreduce 的操作 简介 数据仓库 面向业务:查询数据时,相对数据库的速度可以慢,但还是越快越好 可以收纳多种数据源(不同的数据库) 数据不可修改 解释器、编译器、优化器 用户接口主要有三个:CLI、Client、WUI 其中最常用的是 cli cli 启动的时候,会同时启动一个 Hive 副本 Client 是 Hive 的客户端 用户连接.

2021-07-19 10:53:10 57

原创 Hadoop:Yarn 案例 2

关系图源数据展示处理后 (推荐好友,之间的共同好友数量)案例地址:https://download.csdn.net/download/lian582796149/20320309

2021-07-16 21:06:48 112 2

原创 Hadoop:Yarn 案例 1

相同月份下,显示(第3参数)最高值的3条数据,(第二参数象征性的数据,暂无实用)源数据处理后案例地址:https://download.csdn.net/download/lian582796149/20320309

2021-07-16 12:23:25 82

原创 MapReduce:Idea开发Client

写的不到位的地方,欢迎评论指出不足之处将服务器端的 hadoop 的四个文件 core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml 复制到项目下的 resources pom.xml 配置<!--客户端聚合包--><dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoo.

2021-07-14 09:51:38 52

原创 Hadoop:Yarn 搭建

写的不到位的地方,欢迎评论指出不足之处Hadoop2.X出现了一个 Yarn (资源管理) MapReduce 没有后台的常服务(临时服务) 与 HDFS 是两个独立的概念 Yarn 模型 container 容器,里面运行我们的 AppMaster、Map/Reduce Task 解耦 mapreduce on yarn 架构 Resource Manager Node Manage NameNode (NN) ..

2021-07-13 20:25:51 336 1

原创 Hadoop:Yarn 初识

模型 Container容器,不是docke 虚的 对象 属性:容量归属 Node Manage、cpu、内存、io量 物理的 JVM 操作系统进程 Node Manage 会有线程监控 container 资源情况 超额:NM 直接kill干掉 cgroup 内核级技术:在启动 JVM 进程,由 kernel 约束死 整合 docker 实现:架构/框架 Resourc...

2021-07-11 12:58:19 70

原创 Hadoop:MapReduce 计算框架

HDSF:存储文件 存储模型 切块、散列 分治目的 分布式计算 实现 框架 角色 NameNode、DataNode 特长/特点 读写流程很重要 MapReduce:批量计算 计算模型 两阶段:Map 与 Reduce 是一种阻塞关系 Map 单条记录加工和处理 Reduce 按组、多条记录加工和处理 实现 :框架 计算向数据移动 ...

2021-07-09 13:52:28 84

原创 Hadoop:MapReduce 原理图

写的不到位的地方,欢迎评论指出不足之处​​​​​​MapReduce 数据以一条记录为单位,经过map方法映射成KV,相同的key为一组,这一组数据调用一次reduce方法,在方法内迭代计算着一组数据 经验 数据集一般是用迭代计算的方式 block (物理切割):split(切片/逻辑切割) 注意 框架默认的 split 数量 = block 数量 控制并行数:由切片数决定 切片利用 block 上的 location 信息、副本信息,决定 map 的计算程.

2021-07-08 12:54:39 396

原创 HDFS:Idea开发Client

写的不到位的地方,欢迎评论指出不足之处前言: 前提是服务器端部署正常开发工具: IntelliJ IDEA、Maven1、配置 pom.xml<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>...

2021-07-05 16:23:06 77

原创 Hadoop:HA模式配置与实现

写的不到位的地方,欢迎评论指出不足之处一、集群角色分配服务器 NameNode NameNode Zookepper FailoverController DataNode Zookepper JournalNode One yes (NN2和其它节点免密) yes yes Two .

2021-07-05 13:20:15 446

原创 Hadoop:伪分布式安装与配置

写的不到位的地方,欢迎评论指出不足之处前言技术版本总是不断的更新,但企业为了能够安全、稳定的使用技术,通常不会使用最新,而是版本相对较低 即使使用的版本也存在一定的问题,但该版本存在的时间长,从而在互联网上更能寻找到相关的解决问题Hadoop 安装包 版本:2.10.1(本人虚拟机所用) 下载:https://hadoop.apache.org/release/2.10.1.html 手册:https://hadoop.apache.org/docs/r2.10.1/hadoop-.

2021-06-30 16:27:30 514

原创 Hadoop:基础设施安装配置部署

写的不到位的地方,欢迎评论指出不足之处前言服务器系统不同操作命令也不同,即使同为 Centos 系统,版本6与8的命令也有不同,具体按系统版本操作一、环境系统(本人所用虚拟机:同时开启四台) one、two、three、four [root@one ~]# lsb_release -aLSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:grap.

2021-06-30 14:34:33 101

原创 HDFS:HA模式

写的不到位的地方,欢迎评论指出不足之处主从集群 ● 优点 ● 结构相对简单、主与从协作 ● 主:单点、数据一致好掌握 ● 缺点 ● 两个独立的问题 ● 问题一:单点故障、集群整体不可用 ● 主只有一个,当主出现故障后,从将不可用,导致整个集群无法工作...

2021-06-30 12:53:21 765

原创 HDFS:读流程

写的不到位的地方,欢迎评论指出不足之处1、节省消耗 ● 为了降低整体的带宽消耗和读取延时,HDFS会尽量让读取程序读取离它最近的副本 ● 如果在读取程序的同一个机架上有一个副本,那么就读取该副本 ● 如果一个 HDFS 集群跨越多个数据中心,那么客户端也将首先读本地数据中心的副本 ● 总之,先读取最近的(本地)2、全级操作(获取所有块) ● 语义 ● 下载一个文件...

2021-06-29 15:39:06 89

原创 HDFS:写流程

1、客户端通过 HDFS Client 将文件进行上传 ● 与 NameNode 连接创建文件元数据(文件名、创建时间、大小、权限、文件与block块映射关系)2、NameNode 对文件的元数据进行验证 ● 是否有权限 ● 是否文件已存在等3、验证通过后,NameNode 触发副本放置策略4、返还指定数量的 DataNode 并按距离因素,进行排序 ● 注: HDFS Client 上传文件的节点(DataNo...

2021-06-29 15:06:22 89

原创 HDFS:Block副本放置策略

图解 说明 蓝色大方框:机柜 红色:机架服务器 蓝色三角:DataNode 机柜内部上方的黄色:路由器 机柜内部底部的黄色:电源(供电、电池防断电) 步骤 第一个副本:DataNode本机 注:如果是集群外提交,则随机挑选一台磁盘不太满,CPU不太忙的节点 第二个副本:与第一个副本不同的机架的节点上 注:2.X修复BUG,若副本数只有2个,都在相同机架节点上时,若此时机架宕机,第二个副本并没有起到作用 第三个副本:与第二..

2021-06-28 15:57:24 468

原创 HDFS:安全模式

写的不到位的地方,欢迎评论指出不足之处HDFS搭建时会格式化,格式化操作会产生一个空的 Fslmage 当 NameNode 启动时,它从硬盘中读取 Editlog 和 Fslmage 将所有 Editlog 作用在内存中的 Fslmage 上 并将这个新版本中的事务Fslmage 从内存中保存到本地磁盘上 然后删除旧的 Editlog,因为这个旧的 Editlog 的事务已经作用在 Fslmage 上 NameNode 启动后会进入一个称为安全模式的特殊状态 处于安全模式的 Nam...

2021-06-27 15:43:56 80

原创 HDFS:元数据持久化

1、任何对文件系统元数据产生修改的操作,NameNode 都会使用一种称为 EditLog 的事务日志记录下来2、使用 FsImage 存储内存所有的元数据状态3、使用本地磁盘保存 EditLog 和 FsImage4、EditLog 具有完整性、数据丢失少,但恢复速度慢、并有体积膨胀风险5、FsImage 具有恢复速度快、体积与内存数据相当,但不能实时保存、数据丢失多6、NameNode 使用了 Fslmage + EditLog 整合的方案7、滚动将增量的 EditLog 更新到

2021-06-27 15:21:39 986

原创 HDFS:架构设计

1、HDFS是一个主从( Master / Slaves )架构主从 两个都是活动状态,并且是互相通信、协作、调用 主备 主是活动的,备是停止的,当主发生异常后,备才会切换开始活动 2、由一个 NameNode 和一些 DataNode 组成NameNode 完全基于内存存储文件元数据、目录结构、文件 block 的映射 需要持久化方案保证数据可靠性 提供副本放置策略 注 一个集群由许多台组成,但一个集群只有一个“主” .

2021-06-27 14:47:10 215

原创 HDFS:存储模型

写的不到位的地方,欢迎评论指出不足之处1、文件线性按字节切割成块(block),具有 offset、id理解 文件按每100字节,切割成一块,同时可拼成原样,每个块的第一个字节,块对应文件时(单一块对应所有块时),块的下标/偏移 如 每5个字节,切割成一块 注 如图只表明文件内是数字,若是其它会将内容切割坏,之后通过计算还原 一个文件 0.1.2.3.4 5.6.7.8.9 10.11.12.13.14.

2021-06-27 10:20:05 247

原创 HDFS:思想

单机处理 例 假设 有一个 1T的文件 I/O 磁盘处理速度是 500MB/s (机器硬盘:100+MB/s、固态硬盘:500MB/s、高速接口:1G - 3G/s ) 分析 1T 约 1000GB、1GB = 1000MB、1000GB = 500MB * 2000、即 2000秒 2000秒 / 60秒 约 30分钟 即:循环一次需要30分钟,若一直找不到匹配数据,就要一直循环下去(30分钟 * N次) ...

2021-06-25 15:28:08 77

Hadoop Yarn 案例 2

好友推荐案例 https://blog.csdn.net/lian582796149/article/details/118800471

2021-07-16

Hadoop Yarn 案例 1

Yarn TopN 案例 年-月-日 某ID(如地区ID,案例中无任何作用) 温度 相同月中最热的3天 案例:https://blog.csdn.net/lian582796149/article/details/118789626

2021-07-16

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除