自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 分布式资源管理与任务调度框架Yarn

一、Yarn简介1、Yarn是什么Apache Hadoop YARN (Yet Another Resource Negotiator,另一种资源协调者)一种新的Hadoop资源管理器,一个通用资源管理系统为上层提供统一的资源管理与任务调度及监控,提高了集群管理效率、资源使用率、数据共享效率2、产生背景在Hadoop1.x中MapReduce是Master/Slave结构,在集...

2020-02-03 21:30:55 2205

原创 Redis zset实现原理

zset的两种实现方式ziplist:满足以下两个条件的时候元素数量少于128的时候每个元素的长度小于64字节skiplist:不满足上述两个条件就会使用跳表,具体来说是组合了map和skiplistmap用来存储member到score的映射,这样就可以在O(1)时间内找到member对应的分数skiplist按从小到大的顺序存储分数skiplist每个元素的值都是[score,value]对因为有了skiplist,才1能在O(logN)的时间内插入一个元素,并且实现快速的按分数

2020-09-18 15:29:42 1325

原创 覆盖索引

覆盖索引又可以称为索引覆盖。解释一: 就是select的数据列只用从索引中就能够取得,不必从数据表中读取,换句话说查询列要被所使用的索引覆盖。解释二: 索引是高效找到行的一个方法,当能通过检索索引就可以读取想要的数据,那就不需要再到数据表中读取行了。如果一个索引包含了(或覆盖了)满足查询语句中字段与条件的数据就叫做覆盖索引。解释三: 是非聚集组合索引的一种形式,它包括在查询里的Select、Join和Where子句用到的所有列(即建立索引的字段正好是覆盖查询语句[select子句]与查询条件[Wher

2020-09-18 14:49:44 203

原创 数据仓库之拉链表设计与实现

简介:本文介绍数据仓库技术中拉链表相关的内容,包括其原理、设计、适用场景以及在Hive中的实现方式。拉链表定义:拉链表是针对数据仓库设计中表存储数据的方式而定义的,顾名思义,所谓拉链,就是记录历史。记录一个事物从开始,一直到当前状态的所有变化的信息。即可以在所规定的时间粒度上体现数据完整的生命周期。以下为一个拉链表的示例及拉链表的主要表结构,存储账户基本信息和每条记录的生命周期,我们可以拿到每一个账户的历史上任意一天的状态和余额信息。账户ID账户余额账户状态开始时间结束时间

2020-09-08 17:27:04 917

原创 SparkConf加载和SparkContext创建(源码剖析)

spark的源码阅读之旅,是相当痛苦的,也许有大量的看不懂,但是每天一个方法,一点点看,相信总归会有极大地提高的。那么下面开始:创建sparkConf对象,那么究竟它干了什么了类,从代码层面,我们可以看到我们需要setMaster啊,setAppName啊,set blabla啊。。。等等~val sparkConf = new SparkConf().setMaster(“local”).setAppName(“TopActiveLocations”).set(“spark.executor.memo

2020-09-08 16:49:43 773

原创 数仓分层的一些概念

事实表:每个数据仓库都包含一个或者多个事实数据表。事实数据表可能包含业务销售数据,如销售商品所产生的数据,与软件中实际表概念一样维度:说明数据,维度是指可指定不同值的对象的描述性属性或特征。例如,地理位置的维度可以包括“纬度”、“经度”或“城市名称”。“城市名称”维度的值可以为“旧金山”、“柏林”或“新加坡”。指标:衡量数据,指标是指可以按总数或比值衡量的具体维度元素。例如,维度“城市”可以关联指标“人口”,其值为具体城市的居民总数。维度和指标的关系:虽然维度和指标可以独立使用,但常见的还是相互结合使

2020-09-08 16:28:30 175

原创 数据仓库维度建模总结

DWD层维度建模DWD 层需构建维度模型,一般采用星型模型,呈现的状态一般为星座模型。维度建模一般按照以下四个步骤:选择业务过程→声明粒度→确认维度→确认事实DWD层事实表设计原则联系维度的外键+度量值DWS层建模统计各个主题对象的当天行为,服务于DWT 层的主题宽表,以及一些业务明细数据,应对特殊需求(例如,购买行为,统计商品复购率)DWS层表设计原则通过外键获取相关的度量值,整合多个dwd事实表度量值构成新表。DWT层建模以分析的主题对象为建模驱动,基于上层的应用和产品的指标

2020-09-08 16:12:52 1800

原创 springBoot总结

**一、**Spring Boot 入门1、Spring Boot 简介简化Spring应用开发的一个框架;整个Spring技术栈的一个大整合;J2EE开发的一站式解决方案;2、微服务2014,martin fowler微服务:架构风格(服务微化)一个应用应该是一组小型服务;可以通过HTTP的方式进行互通;单体应用:ALL IN ONE微服务:每一个功能元素最终都是一个可独立替换和独立升级的软件单元;详细参照微服务文档3、环境准备http://www.gulixueyuan.c

2020-06-24 21:10:35 466

原创 java中==和equals()的区别

==:==是直接比较的两个对象的堆内存地址,如果相等,则说明这两个引用实际是指向同一个对象地址的。但是我们又常常碰到这样一个问题最终结果是true,true,那既然==是比较的地址,那么int数据的地址是怎样的呢,String又是怎样的呢?对于基本数据类型(byte,short,char,int,float,double,long,boolean)来说,他们是作为常量在方法区中的常量池里面...

2020-03-06 09:55:28 217

原创 SparkStreaming

1、SparkStreaming概述数据处理类型分类o静态数据数据源是不变的、有限的、显式离散的多适用于批量计算、离线计算o流数据数据是变动的、无限的、连续的多适用于实时计算,能在秒级、秒内处理完成osparkstreaming是什么一句话总结:微批处理的流式(数据)实时计算框架。原理:是把输入数据以某一时间间隔批量的处理,当批处理间隔缩短到秒级时,即可用于处理实...

2020-03-01 15:49:05 125

原创 Spark Sql

1、SparkSql概述1.1混乱的前世今生先出现MapReduce,后本着sql on mr的思路,产生了Hive。MapReduce执行效率太慢,效率升级后产生了Tez,再效率升级后产生了Spark。Spark为了方便操作,本着sql on spark的思路产生Shark,但Shark太多的借鉴和依赖Hive,制约了Spark的One Stack Rule Them All既定方...

2020-03-01 15:46:41 121

原创 Spark常用算子分析与应用

1、算子概述什么是算子o英文翻译为:Operator(简称op)o狭义:指从一个函数空间到另一个函数空间(或它自身)的映射。o广义:指从一个空间到另一个空间的映射o通俗理解:指事物(数据或函数)从一个状态到另外一个状态的过程抽象。o实质就是映射,就是关系,就是变换。算子的重要作用o算子越少,灵活性越低,则实现相同功能的编程复杂度越高,算子越多则反之。老手机与智能手机老电...

2020-03-01 15:44:26 324

原创 Spark Core

1、Spark架构设计1.1 架构设计图1.2 相关术语名词解释1、RDD (Resilient Distributed DataSet)o弹性分布式数据集,是对数据集在spark存储和计算过程中的一种抽象。o是一组只读、可分区的的分布式数据集合。o一个RDD 包含多个分区Partition(类似于MapReduce中的InputSplit),分区是依照一定的规则的,将具有相同规则...

2020-03-01 15:42:29 276

原创 Spark初识

1.Spark的背景、定义、特点背景oMapReduce框架局限性仅支持Map和Reduce两种操作,提供给用户的只有这两种操作编程复杂度略高,学习和使用成本略高。处理效率低效Map中间结果写磁盘,Reduce写HDFS,多个MR之间通过HDFS交换数据任务调度和启动开销大在机器学习、图计算等方面支持有限,性能效率表现比较差。mapreduce的机器学习框架,称为...

2020-03-01 15:31:02 159

原创 Hive企业应用

一. 数据仓库架构设计数据仓库的主要工作就是ETL,即是英文 Extract-Transform-Load 的缩写,用来描述数据从来源端经过装载(load)、抽取(extract)、转换(transform)至目的端的过程。数据仓库架构设计,即为公司针对自身业务场景实现的水平分层、垂直分主题的数据仓库构建过程的顶层设计。数据架构架构原则:先水平分层,再垂直分主题域。数据架构分三层...

2020-02-28 18:57:57 154

原创 Hive自定义函数

Hive自定义函数一. UDF(user defined function)背景系统内置函数无法解决所有的实际业务问题,需要开发者自己编写函数实现自身的业务实现诉求。应用场景非常多,面临的业务不同导致个性化实现很多,故udf很需要。意义函数扩展得到解决,极大丰富了可定制化的业务需求。IO要求-要解决的问题in:out=1:1,只能输入一条记录当中的数据,同时返回一条处...

2020-02-18 15:56:48 145

原创 Hive基础应用

一. Hive基础概念hive数据模型数据类型2.1 数值型类型 说明TINYINT 1-byte signed integerfrom -128 to 127SMALLINT 2-byte signed integerfrom -32,768 to 32,767INTINTEGER 4-byte signed integerfrom -2,147,483,648 to ...

2020-02-18 15:52:01 172

原创 Hive架构设计原理

Hive架构设计原理一. Hive基本使用切换到可以操作hive的用户直接输入hive回车,进入hive cli常用命令使用查看所有数据库:show databases;创建数据库tianliangedu,即为create database tianliangedu选择数据库设置显示当前所在数据库名称set hive.cli.print.current.db...

2020-02-11 09:13:31 183

原创 Hive概述

一. 数据仓库介绍专业定义o英文名称为Data Warehouse,可简写为DW。o是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。o它是单个数据存储,出于分析性报告和决策支持目的而创建。o为需要业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制。通俗解释o面向分析的存储系统(面向数据分析的存储系统)o一个面向主题的(Subject Orient...

2020-02-11 09:04:28 102

原创 分布式文件系统HDFS

分布式文件系统HDFS一、分布式文件系统HDFS1、产生背景传统的本地文件系统(单机式),在数据量增长过快、数据备份、数据安全性、操作使用便捷性上存在严重不足。2、特点介绍高容错和高可用性,硬件错误是常态而不是异常HDFS设计为运行在普通硬件上,所以硬件故障是很正常的。HDFS提供文件存储副本策略,可以实现错误自检并快速自动恢复。个别硬件的损坏不影响整体数据完整性和计算任务的正常执行...

2020-02-03 21:25:41 361

转载 MapReduce执行过程

一、分析MapReduce执行过程MapReduce运行的时候,会通过Mapper运行的任务读取HDFS中的数据文件,然后调用自己的方法,处理数据,最后输出。Reducer任务会接收Mapper任务输出的数据,作为自己的输入数据,调用自己的方法,最后输出到HDFS的文件中。整个流程如图:二、Mapper任务的执行过程详解每个Mapper任务是一个java进程,它会读取HDFS中的文件,解析...

2020-02-03 21:10:10 222

转载 java IO基础学习

JavaIO学习一、字节流和字符流字节流和字符流都包括输入和输出操作,字节流中输出数据主要使用OutputStream完成,输入使的是InputStream,在字符流中输出主要使用Writer类完成,输入主要是使用Reader类完成。内容操作四个类:OutputStream,InputStream,Writer,Reader 这四个类都是抽象类。IO操作的响应步骤:(1)首先使用File类...

2020-01-14 20:31:20 152

原创 Hadoop初识

Hadoop初识1.大数据概念2.Hadoop的思想之源3.Hadoop背景介绍3.1.什么是Hadoop3.2.Hadoop产生背景4.Hadoop组成5.Hadoop的优势6.HADOOP生态圈以及各组成部分的简介1.大数据概念    大数据指无法在一定时间内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、...

2020-01-14 20:24:37 176

原创 一些基础知识

一些基础知识点1,面向对象的特点:封装:对现有事物的一种客观抽象。继承:在封装的基础上,展现客观的依赖,层级关系。多态:一种事物的多种表现方式。2,shell脚本表示使用的解释器路径#! /bin/bashecho "hello world!"脚本的执行方法有几种?#! 新开一个会话去执行脚本文件sh filename.sh#! 在当前会话窗口执行sour...

2019-11-12 15:12:00 206

空空如也

空空如也

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

TA关注的人

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