自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 收藏
  • 关注

原创 Hadoop之HDFS文件读写过程

HDFS读过程HDFS API 读文件    Configuration conf = new Configuration();     FileSystem fs = FileSystem.get(conf);     Path file = new Path("demo.txt");     FSDataInputStream inStream = fs.open(file);...

2018-08-23 00:15:56 9555

原创 Shuffle过程详解及优化

1.MapReduce ShuffleMap是映射,负责数据的过滤分 发;Reduce是规约,负责数据的计算归并。Reduce的数据来源于Map,Map的输出即是Reduce的输入,Reduce需要通过 Shuffle来获取数据。 从Map输出到Reduce输入的整个过程可以广义地称为Shuffle。Shuffle横跨Map端和Reduce端,在Map端包括Spill过程,在Reduc...

2018-08-23 00:13:55 21399 1

原创 数据仓库之维度建模

概述数据仓库包含的内容很多,它可以包括架构、建模和方法论。对应到具体工作中的话,它可以包含下面的这些内容:以Hadoop、Spark、Hive等组建为中心的数据架构体系。 各种数据建模方法,如维度建模。 调度系统、元数据系统、ETL系统、可视化系统这类辅助系统。我们暂且不管数据仓库的范围到底有多大,在数据仓库体系中,数据模型的核心地位是不可替代的。因此,下面的将详细地阐述数据建模...

2018-08-23 00:02:06 6942 3

原创 Spark如何处理数据倾斜

什么是数据倾斜数据倾斜是指我们在并行进行数据处理的时候,由于数据Spark的单个Partition)的分布不均,导致大量的数据集中分不到一台或者某几台计算节点上,导致处理速度远低于平均计算速度,从而拖延导致整个计算过程过慢,影响整个计算性能数据倾斜的危害单个或者某几个task拖延整个任务运行时间,导致整体耗时过大 单个task处理数据过多,很容易导致oom Executor Kil...

2018-08-17 20:38:22 20088 5

原创 hive的性能优化

1、计算数据优化计算数据优化主要有两种思路,一种是减少处理数据量;一种是解决数据倾斜。数据倾斜一般可以分为三种: Mapper阶段数据倾斜 Join阶段数据倾斜 Reduce阶段数据倾斜1.1 Mapper阶段数据倾斜主要有两种方式:可以修改读取数据的表的任务,最后插入数据时按照均衡的key值重新分布。也就是在最后加上distribute by *** 如果Mapper的任...

2018-07-30 13:39:14 2432

原创 hive优化的总结

长期观察hadoop处理数据的过程,有几个显著的特征:1.不怕数据多,就怕数据倾斜。2.对jobs数比较多的作业运行效率相对比较低,比如即使有几百行的表,如果多次关联多次汇总,产生十几个jobs,没半小时是跑不完的。map reduce作业初始化的时间是比较长的。3.对sum,count来说,不存在数据倾斜问题。4.对count(distinct ),效率较低,数据量一多,准出问题...

2018-07-30 13:38:25 180

原创 Doris 数据模型

目录基本概念Aggregate 模型(聚合模型)示例1:导入数据聚合示例2:保留明细数据示例3:导入数据与已有数据聚合Uniq 模型(唯一主键)Duplicate 模型(冗余模型)ROLLUP基本概念前缀索引与 ROLLUPROLLUP 的几点说明聚合模型的局限性Duplicate 模型数据模型的选择建议基本概念在 Doris 中,数据以表(Table)的形式进行逻辑上的描述。一张表包括行(Row)和列(Column)。Row 即用户的一行数

2021-01-05 16:46:38 2509

原创 hive 经纬度之间的距离

1.hive函数计算计算公式如下:6378137*2*ASIN(SQRT(POWER(SIN((ta.start_point_lat-ta.end_point_lat)*ACOS(-1)/360),2) +COS(ta.start_point_lat*ACOS(-1)/180)*COS(ta.end_point_lat*ACOS(-1)/180)*POWER(SIN((ta.start_point_lng-ta.end_point_lng)*ACOS(-1)/360),2))) as di

2020-09-14 16:41:01 1410

原创 Spark Shuffle过程

job:由一个 rdd 的 action 触发的动作,可以简单的理解为,当你需要执行一个 rdd 的 action 的时候,会生成一个 job。Job简单讲就是提交给spark的任务。 stage: stage 是一个 job 的组成单位,就是说,一个 job 会被切分成 1 个或 1 个以上的 stage,然后各个 stage 会按照执行顺序依次执行。简单地说Stage是每一个job处理过程要分为的几个阶段。 task: 即 stage 下的一个任务执行单元,一般来说,一个 ...

2020-07-26 16:54:45 2166

原创 Spark SQL解析过程

黄色的是数据结构,蓝色的spark的模块,绿色的是hive matestore 。SQL和DataFrame 进来会先解析成逻辑执行计划,从hive metasotre里面拿一些表、字段的元数据信息,生成一个解析过的执行计划。经过spark的优化器,改变逻辑执行计划的逻辑结构,通过planner生成物理的执行计划。将sql转换成抽象语法书(逻辑执行计划)右边的含义:relation就是一个表的意思,UNresolveRelation是指还没有解析过,现在还没有从元数据那获取信息,不知道表里具

2020-07-23 22:17:32 1337

原创 Spark 介绍

RDD:弹性分布式数据集(Resilient Distributed Dataset)。RDD是Spark的最基本抽象,是对分布式内存的抽象使用,实现了以操作本地集合的方式来操作分布式数据集的抽象实现。RDD是Spark最核心的东西,它表示已被分区,不可变的并能够被并行操作的数据集合,不同的数据集格式对应不同的RDD实现。RDD必须是可序列化的。RDD可以cache到内存中,每次对RDD数据集的操作之后的结果,都可以存放到内存中,下一个操作可以直接从内存中输入,省去了MapReduce大量的磁盘IO操作。这

2020-07-01 21:13:07 189

原创 Hive分析窗口函数: LAG、LEAD、FIRST_VALUE、LAST_VALUE

目录1.数据准备1.1数据格式1.2创建表2.LAG2.1函数说明2.2函数使用2.3 查询结果2.4 结果说明3. LEAD3.1 函数说明3.2 函数使用3.3 查询结果4.FIRST_VALUE4.1 函数说明4.2 函数使用5.LAST_VALUE5.1 函数说明5.2 函数使用5.3 查询结果5.4 取...

2019-07-17 17:22:06 28046 3

原创 Hive分析窗口函数 GROUPING SETS、GROUPING__ID

目录1.概述2.数据准备2.1数据格式2.2创表语句3.GROUPING SETS和GROUPING__ID3.1 GROUPING SETS例13.1.1查询语句3.1.2等价于3.1.3查询结果3.1.4 结果说明3.2GROUPING SETS 例23.2.1 查询语句3.2.2 等价于3.2.3 查询结果3.3GROU...

2019-06-26 17:34:31 5116

原创 Hadoop问题总结

1.combine、partition和shuffer的区别?combine:把同一个key的键值对合并在一起,combine函数把一个map函数产生的<key,value>对(多个key,value)合并成一个新的<key2,value2>,将新的<key2,value2>作为输入到reduce函数中,这个value2亦可称之为values,因为有多...

2018-08-24 10:36:56 251

原创 HDFS的SecondaryNameNode

HDFSHDFS 采用Master/Slave的架构来存储数据,该架构主要由四个部分组成HDFS Client NameNode DataNode SecondaryNameNodeHDFS体系结构HDFS体系结构HDFS Client文件切分,文件上传 HDFS 的时候,Client 将文件切分成 一个一个的Block,然后进行存储与 NameNode 交互,...

2018-08-24 10:04:38 2080

原创 Hadoop容错机制

简单介绍一下Hadoop中数据存储的可靠性和完整性,其中包括HDFS的容错机制、NameNode(元数据结点)的单点失效解决机制、Block数据块的多副本存储机制、NameNode与DataNode之间的心跳检测机制、数据存储等。(一)HDFS中NameNode单点问题HDFS这种分布式的存储系统,存在中心结点,那么这个中心结点的可靠性就是整个集群的可靠性的关键,对于版本0.20.x的...

2018-08-24 10:03:39 2188

原创 Hive的性能优化以及数据倾斜

hive性能优化一、Map阶段的优化:(控制hive任务中的map数,确定合适的map数,以及每个map处理合适的数据量)。map个数影响因子:input目录中文件总个数; input目录中每个文件大小; 集群设置的文件块大小(默认为128M, 可在hive中通过set dfs.block.size;命令查看,不能在hive中自定义修改);举例:input目录中有1个文件...

2018-08-23 00:29:48 274

原创 Hadoop HA高可用解析以及脑裂问题

Hadoop1.x:Hadoop 的两大核心组件 HDFS 的NameNode 和 JobTracker 都存在着单点问题。Hadoop2.x :HDFS的NameNode 和 YARN的ResourceManger 的单点问题可以解决。SecondaryNameNode保存的状态总是滞后于NameNode,所以这种方式难免会导致丢失部分数据,也可以解决。(NameNode和Resourc...

2018-08-23 00:27:51 1601

原创 Hadoop之NameNode、DataNode

Namenode名字节点对于Namenode的分析,分以下几个部分: 文件系统目录树管理 数据块和数据节点管理 租约管理 租约是Namenode给与租约持有者(客户端)在规定时间内拥有文件权限(写文件)的合同,Namenode会执行租约的发放、回收、检查以及恢复等操作。 缓存管理 2.3新增了集中式缓存管理功能,允许用户将文件和目录保存到HDFS缓存中。...

2018-08-23 00:25:03 5426

原创 MapReduce作业运行过程

 JobClient的runJob()方法:新建JobClient实例,并调用其submitJob()方法。提交作业后,runJob()每秒轮询作业进度,如果发现上次上报后信息有改动,则把进度报告输出到控制台。作业完成,成功则显示作业计数器;失败则输出错误到控制台。 (一)JobClient的submitJob()的作业提交过程:1. 向JobTracker请求一个新jobID,通过J...

2018-08-23 00:21:58 245

原创 HDFS块大小默认为什么是64MB(或者是128MB)

块的大小设置原则:最小化寻址开销。块越大寻址时间越短。如果块设置的足够大,从磁盘传输数据的时间会明显大于定位这个块开始位置所需的时间,因而,传输一个由多个块组成的文件的时间取决于磁盘的传输速率。但是这个数也不会设置的过大,mapreduce中的map任务通常一次只处理一个块中的数据,因此如果任务数太少(少于集群中节点的数量),运行速度会很慢主要由以下考虑: 减少硬盘寻道时间(dis...

2018-08-23 00:18:37 3374

原创 HDFS负载均衡

HDFS副本摆放策略第一副本:放置在上传文件的DataNode上;如果是集群外提交,则随机挑选一台磁盘不太慢、CPU不太忙的节点上;第二副本:放置在于第一个副本不同的机架的节点上;第三副本:与第二个副本相同机架的不同节点上;如果还有更多的副本:随机放在节点中; 需要注意的是:HDFS中存储的文件的副本数由上传文件时设置的副本数决定。无论以后怎么更改系统副本系数,这个文件...

2018-08-23 00:16:27 421

原创 hive的架构及执行过程

 编译器将Hive SQL 转换成一组操作符(Operator)操作符是Hive的最小处理单元每个操作符处理代表一道HDFS操作或MapReduce作业 Hive编译过程:将SQL转换成抽象语法树        Parser 将抽象语法树转换成查询块      Semantic Analyzer 将查询块转换成逻辑查询计划    Logic Plan Gener...

2018-08-23 00:15:00 702

原创 hive自定义函数

【分类】•UDF(User-Defined-Function) :处理一进一出例如:length(string)、substr(string|binary A, int start) 、date_add(string startdate, int days)、 split(string str, string pat)•UDAF(User-Defined-Aggregation-Fun...

2018-08-09 20:38:57 382

原创 hive查询-排序

select * from test_table order by income;select * from test_table sort by income;Insert overwrite local directory ‘/home/hadoop/out’ select * from test_table destribute by city_id;SELECT col1, ...

2018-08-09 20:35:10 528

原创 hive的分区

表分区•分区列对应目录•作用:辅助查询,缩小查询范围,加快数据的检索速度和对数据按照一定的规格和条件进行管理•添加分区alter table ods_cities add if not exists partition(year='2015', month='09', day='01') location '/user/xiaoju/data/bi/gal_dw/ods_cit...

2018-08-09 20:31:48 293

原创 Spark调优

一.程序编写调优1.复用RDD我们大家都知道,Spark是通过读取数据形成RDD,从而对数据进行转换和落地的。通常spark读取数据的速度要比数据计算的速度要慢,如果一份数据,程序里已经读取形成了RDD,你想把这个RDD进行多次的处理,直接复用就好,一定不要再次将数据读取形成RDD。这个是用户程序中容易忽略的一点。 2.如果RDD被多次进行转换和执行(transform &...

2018-07-30 13:39:41 229

原创 YARN的工作机制

YARN是什么全称 Yet Another Resource Negotiator,是一套全新的任务调度与资源管理框架,是 Hadoop 2(当前我们使用的Hadoop版本)的关键组件之一。不同于 Hadoop 1,YARN 不仅支持 MapReduce,还支持各种计算引擎,是一个通用的资源管理器。YARN架构及工作机制下面介绍一下 YARN 的架构以及它是如何工作的。架构...

2018-07-21 20:15:47 6922 2

原创 Spark:Java实现分组取Top N

1、源数据如下,取出每班成绩的前三名class1 98class2 90class2 92class1 96class1 100class2 89class2 68class1 81class2 902.实现代码package cn.spark.study.core;import java.util.ArrayList;import java.util.Arrays;impor

2017-12-06 20:01:45 1306

原创 Spark:Scala实现Top N

实现代码如下:package cn.spark.study.coreimport org.apache.spark.SparkConfimport org.apache.spark.SparkContextobject Top3 { def main(args:Array[String]):Unit = { val conf = new SparkConf().setAppName("

2017-12-06 19:57:05 1287

原创 Spark:Java实现Top N

测试数据32843815111240Java实现代码:package cn.spark.study.core;import java.util.List;import org.apache.spark.SparkConf;import org.apache.spark.api.java.JavaPairRDD;import org.apache.spark.api.java.Jav

2017-12-06 19:55:33 584

原创 Spark:Scala实现二次排序

测试数据:1 52 43 61 32 1输出结果:1 31 52 12 43 6实现思路与上片文章思路一致,只是改变了实现语言SecondSortKey_12.scalapackage cn.spark.study.coreclass SecondSortKey_12( val first :Int ,val second :Int ) extends Ordered[Se

2017-12-06 19:52:08 1454

原创 Spark:Java实现 二次排序

测试数据1 52 43 61 32 1输出结果1 31 52 12 43 6 实现思路:1.实现自定义的key,要实现Ordered接口和Serializable接口,在key中实现自己对多个列的排序算法 2.将包含文本的RDD,映射成key为自定义key,value为文本的JavaPariRDD 3.使用sortByKey算子按照自定义的key进行排序 4.再次映射,剔除

2017-12-06 19:47:12 987 1

原创 Spark:Scala实现action操作

代码如下package cn.spark.study.coreimport org.apache.spark.SparkConfimport org.apache.spark.SparkContextobject ActionOperation { def main(args: Array[String]){ //reduce() //collect() //count

2017-12-06 18:30:53 678

原创 Spark:Java实现Action操作

完整代码如下:package cn.spark.study.core;import java.util.Arrays;import java.util.List;import java.util.Map;import org.apache.spark.SparkConf;import org.apache.spark.api.java.JavaPairRDD;import org.apach

2017-12-06 18:16:18 241

原创 Spark:Scala实现常用的Transformation操作

源码如下package cn.spark.study.coreimport org.apache.spark.SparkConfimport org.apache.spark.SparkContextimport org.apache.spark.SparkConfimport org.apache.spark.SparkConfimport sun.reflect.generics.sco

2017-12-06 16:02:51 356

原创 Spark:使用Java实现所有的Transformation操作

完整代码如下package cn.spark.study.core;import java.util.Arrays;import java.util.Iterator;import java.util.List;import org.apache.spark.SparkConf;import org.apache.spark.api.java.JavaPairRDD;import org.a

2017-12-06 16:00:40 784

原创 Spark:用Java和Scala实现WordCount

Java版本package cn.spark.study.core;import java.util.Arrays;import org.apache.spark.SparkConf;import org.apache.spark.api.java.JavaPairRDD;import org.apache.spark.api.java.JavaRDD;import org.apache.sp

2017-12-06 15:57:11 529

原创 HDFS的Trash回收站功能

文件的删除和恢复博客和Linux系统的回收站设计一样,HDFS会为每一个用户创建一个回收站目录:/user/用户名/.Trash/,每一个被用户通过Shell删除的文件/目录,在系统回收站中都一个周期,也就是当系统回收站中的文件/目录在一段时间之后没有被用户恢复的话,HDFS就会自动的把这个文件/目录彻底删除,之后,用户就永远也找不回这个文件/目录了。在HDFS内部的具体实现就是在NameNode中

2017-11-23 10:52:02 668

原创 Hadoop集群nodes unhealthy解决方法

在搭建好Hadoop集群之后,所有服务均可正常启动,但是在运行MapReduce程序的时候,发现任务卡在7/09/07 22:28:14 INFO mapreduce.Job: Running job: job_1504781778966_0003,不再往下执行了,经过检查,发现所有的nodes节点都处于unhealthy的状态,使用命令查看node 的状态bin/yarn node -list -

2017-09-07 15:04:24 5763 2

空空如也

空空如也

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

TA关注的人

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