自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MapRedce第一版

MapReduce将复杂的、运行于大规模集群上的并行计算过程高度地抽象成两个函数:Map和Reduce。MapReduce体系结构主要由四个部分组成,Client、JobTracker、TaskTracker以及Task。Client:用户编写的MapReduce程序通过Client提交到JobTracker端,用户可以通过Client提供的一些接口查看作业运行状态JobTracker:JobTracker负责资源监控和作业调度,如果作业失败,会将相应的任务转移到其他节点,并将这些信息通知资源调度

2021-11-02 18:51:05 155

原创 hive谓词下推-第一版

什么是谓词下推?Predicate pushdown 将外层查询块的WHERE子句中的谓词移入较低层查询块,从而能够提早进行数据过滤,即在不影响结果的情况下,尽量将过滤条件提前执行。为什么要进行谓词下推?谓词下推可以使得程序提前过滤部分数据,降低Join等一系列操作的数据量级,尽可能避免程序性能问题。谓词下推优化方式词法分析类似文本分词词法分析及语义分析会检查Database及table是否存在,group结合聚合函数等一些基础语法是否正确逻辑计划阶段会有很多优化,对谓词的处理在这个阶段完

2021-11-01 19:50:01 352

原创 Nginx

Nginx概述Nginx是一个高性能的HTTP和反向代理服务器,特点是占有内存少,并发性能强。Nginx专为性能优化而开发,性能是最重要的考量,能承受高负载的考验。Nginx支持热部署,它的启动非常容易,并且几乎可以做到7*24小时不间断运行,即使几个月也不需要重新启动。它还可以在不间断服务的情况下,对软件版本进行升级。Nginx特点1,反向代理正向代理:Nginx不仅可以做反向代理,实现负载均衡,还可以做正向代理进行上网等功能。正向代理:如果把局域网外的Internet想象成一个巨大的资源库

2021-02-11 20:25:24 173 1

原创 我眼中的Spark源码

看源码,不懂就百度之专题专题一 Scala的类型转换与检查问题一:如果实例化了子类的对象,但是将其赋予了父类类型的变量,在后续的过程中,又需要将父类类型的变量转换为子类类型的变量,应该如何去做?首先,需要使用isInstanceOf[XX]判断是否为指定类的对象,如果是的话,则可以使用asInstanceOf将对象转换成指定类型;注意:如果没有p.isInstanceOf[XX]先判断对象是否为指定类的尸体,就直接用asInstanceOf转换,则可能抛出异常如果对象是null,则isInst

2021-02-03 14:22:12 188

原创 我眼中的Maven

MapReduce WordCount编程MapReduce的运算程序一般分为两个阶段:第一阶段(Map阶段):这个阶段有若干的MapTask实例,完全并行运行,互不相干。每个MapTask会读取分析一个InputSplit(输入分片,简称分片)对应的原始数据,计算的结果数据会临时保存到所在节点的本地磁盘。import org.apache.hadoop.io.IntWritable;import org.apache.hadoop.io.LongWritable;import org.apach

2021-01-20 13:35:33 89

原创 我眼中的MapReduce

MapReduce简介MapReduce是Apache Hadoop项目的一个核心模块它是Goole提出的分布式并行编程模型<>论文的Java开源实现MapReduce是一个运行在hdfs上的分布式运算程序的编程框架,用于大规模数据集(大于1TB)的并行计算MapReduce的作用程序由单机版扩成分布式时,会引入大量的复杂工作。为了提高开发效率,可以将分布式程序中的公共功能封装成框架,让开发人员将精力集中于业务逻辑。引入MapReduce框架后,开发人员可以将绝大部分工作集中在业务

2021-01-16 13:19:20 125

原创 我眼中的C语言

计算机程序计算机程序是一组计算机能识别和执行的指令的集合。计算机的一切操作都是由程序控制的,计算机帮助人们解决实际问题的过程就是一个执行具体程序的过程。计算机内存现代计算机的主要部件:中央处理单元(CPU)担负着绝大部分的计算工作;随机访问存储器(RAM)作为一个工作区来保存程序和文件;永久存储器,一般是硬盘,负责永久地保存程序和文件;各种外围设备(如键盘、鼠标、显示器)用来实现人机之间的数据通信。中央处理器CPU是进行数据计算的核心部件,它从内存中获取一个指令并执行该指令,然后从内存中获取下一条指

2021-01-14 12:59:19 259 1

原创 我眼中的Yarn

Yarn简介为克服Hadoop1.0中HDFS和MapReduce存在的各种问题而提出的,针对Hadoop1.0中的MapReduce在扩展性和多框架支持方面的不足,提出了全新的资源管理框架YARN。Apache Yarn(Yet another Resource Negotiator)是Hadoop集群的资源管理系统,负责为计算程序提供服务器计算资源,相当于一个分布式的操作系统平台。而MapReduce等计算程序,则相当于运行于操作系统之上的应用程序。Yarn被引入Hadoop2,最初是为了改善Ma

2021-01-14 11:10:13 97

原创 我眼中的Scala

The Scala Programming LanguageScala combines object-oriented and functional programming in one concise,high-level language.Scala’s static types help avoid bugs in complex applications, and its JVM and JavaScript runtimes let you build high-performance sy

2021-01-11 11:52:15 103

原创 我眼中的Kafka

消息队列消息队列的两种模式:点对点模式:一对一,消费者主动拉取数据,消息收到后消息清除发布/订阅模式:一对多,消费者消费数据之后不会消除消息消息生产者发布消息到topic中,同时有多个消息消费者订阅消费该消息。和点对点方式不同,发布到topic的消息会被所有订阅者消费。Kafka是一个分布式的基于发布/订阅模式的消息队列(Message Queue),主要用于大数据实时处理领域。Kafka基础架构Producer:消息生产者,就是向kafka broker发消息的客户端Consumer

2021-01-04 13:45:23 127 2

原创 我眼中的Hudi----数据库之Hudi

数据湖数据湖或者Hudi是由大数据厂商提出来的。数据量越大,越需要不同种类的存储,但是并不是所有企业的数据都是适合存储在廉价的HDFS集群之上的。Apache Hudi让用户可以在Hadoop兼容的基础上存储大量数据,同时它还提供了两种原语操作,使得除了经典的批处理之外,还可以在数据湖上进行流处理。这两种原语分别是:Updae/Delete记录:Hudi使用细粒度的文件/记录级别索引来支持Update/Delete记录,同时它还提供了写操作的事务保证,查询会处理最后一个提交的快照,并基于此给出结果

2021-01-04 12:58:15 1765

原创 我眼中的计算机网络

互联网概述计算机网络由若干个结点和连接这些节点的链路组成的。网络中的节点可以是计算机、集线器、交换机或路由器等。2020互联网所处的阶段多层次ISP结构的互联网,互联网提供者(Internet Service Provider)可以从互联网管理机构申请很多IP地址,同时拥有通信链路以及路由器等联网设备。个人和机构,向ISP购买上网服务。中国联通、中国电信、中国移动是我国著名的ISP。互联网的组成部分边缘部分:由所有连入互联网的主机构成,这部分是用户直接使用的。在互联网的端系统之间的通信方式可以划

2021-01-01 13:47:07 585

原创 我眼中的操作系统

操作系统的作用操作系统(Operating System)是布置在计算机硬件上的第一层软件,是对硬件系统的首次扩充。它的作用是管理好计算机的设备,提高它们的利用率和吞吐量,并且为用户和应用程序提供一个接口,方便用户的使用。操作系统作为计算机硬件系统之间的接口,用户通过OS操作计算机。操作系统作为计算机系统资源的管理者,计算机中的资源分为四类:处理机,存储器,I/O设备和文件。操作系统实现了对计算机资源的抽象,对底层的硬件资源加以抽象,使得用户更加方便地使用。操作系统的发展过程未配置操作系统

2020-12-30 12:12:16 279

原创 顺序表-部分元素逆置

#include<stdio.h>#include<stdlib.h>#define max 1000000typedef int ElemType;typedef struct{ ElemType *elem; //存储空间基地址 int length; //当前长度 int listSize; //当前分配的存储容量, 以sizeof(ElemType)为单位 }SqlList; void creat(SqlList.

2020-12-27 17:04:26 203

原创 Flume

Flume的简介大数据处理流程数据采集数据存储数据清洗数据分析数据显示Flume是一个分布式的、可靠的、高可用的的服务,用于收集,聚合和移动大量的日志数据。Flume的体系结构Flume运行的核心是Agent,Flume是以Agent为最小的独立运行单位。一个agent就是一个JVM。它是一个完整的数据收集工具,含有三个核心组件,分别是source、channel、sink。通过这些组件,Event可以从一个地方流向另一个地方。核心概念agentflume最核心的角色就是

2020-11-30 15:24:26 390

原创 HTTP和HTTPS的区别

基本概念HTTP(Hyper Text Transfer Protocol: 超文本传输协议)是一种用于分布式、协作式和超媒体信息系统的应用层协议。简单来说,就是一种发布和接收HTML页面的方法,被用于在WEB浏览器和网站服务器之间传递消息。HTTP默认工作在TCP协议的80端口,用户访问网站http://开始的都是标准的HTTP服务。HTTP协议都是以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,那么就可以直接读懂其中的消息。因此,HTTP协议不

2020-11-27 17:20:24 113

原创 流量

流量,最早是一个物理概念,指的是水在管子里流动和汽车在高速路上流动的一个量。数据交换量互联网中的流量是在进行内容消费和内容互动时候的数据交换量。宽带的上行流量,下行流量是什么意思?宽带中有上行和下行的定义,也有流量和速度的定义。一般来讲,用户属于下,网络属于上。所有从网络到用户的数据流,都属于下行;所有从用户到网络的数据流,都属于上行。流量的定义,是指某个时间段内总的数据包的数量。这个流量都会随着一个时间单位,比如日流量,小时流量。上行流量就是某个时间段用户设备发送到网络设备总的数据包的数量,而

2020-11-27 16:37:07 598

原创 Hudi

Apache Hudi ingests & manager storage of large analytical datasets over DFS(hdfs or cloud stores).Hudi读取和管理存储在DFS上的大量分析数据集。Hudi Features:hudi的特色Upsert support with fase, pluggable indexing,通过可插入索引支持快速UpsertSnapshot isolation between writer & qu

2020-11-14 16:39:13 303

原创 clickhouse

第一章 clickhouse1.1 clickhouse的定义ClickHouse是一个开源的用于分析(OLAP)的列式数据库关系系统(DBMS)。OLAP场景的关键特征:大多数是读请求数据总是以相当大的批进行写入不修改已经添加的数据宽表,即每个表包含着大量的列(为了减少join连接)处理单个查询时需要高吞吐量(每个服务器每秒高达数十亿行)事务不是必须的对数据一致性要求低查询结果明显小于源数据,1.2 clickhouse的优点支持SQL操作列式存储和数据压缩丰富的表引.

2020-11-12 21:53:26 522

原创 Flink的入门

一、Flink 简介Flink是一个分布式的流处理框架,它能够对有界和无界的数据流进行高效的处理。Flink的核心是流处理,当然它也支持批处理,Flink将批处理看成为流处理的一种特殊情况,即数据流也是有明确界限的。这和Spark Streaming是思想是相反的,Spark Streaming的核心是批处理,它将流处理看成批处理的一种特殊情况,即把数据流进行极小粒度的拆分,拆分为多个微批处理。扩展flink在内部有一个缓存块为单位进行网络数据传输,用户可以自己配置这个缓存块的超过时间,如果缓存块

2020-11-04 21:07:03 154 2

原创 Spark Sql

简介SparkSQL,它是spark生态技术体系中构建在Spark Core基础上的基于SQL的计算模块,它是spark生态中用于处理结构化数据的模块。Spark Sql也可以将半结构化数据转换成结构化数据处理。RDD弹性分布式数据集,相较于DataFrame和DataSet而言,RDD是更底层的数据结构,而且目前是使用最多的,但是肯定会被DataFrame和DataSet取代。DataFrameDataFrame是构建在RDD基础上的,它比RDD多了一个Schema(元数据:描述数据的数据),它

2020-10-29 22:43:23 96

原创 Structured Streaming

Structured Streaming是Spark新提出的一种实时流的框架,它和Spark Streaming之间有什么区别呢?一、为什么要有StructedStreaming?Spark Streaming是Spark核心API的一个扩展,可以实现高吞吐量的、具备容错机制的实时流数据的处理。它支持从多种数据源获取数据,包括Kafka、Flume、以及TCP socket等,从数据源获取数据之后,可以使用诸如map、reduce和window等高级函数进行复杂算法的处理。最后,还可以将处理结果存储到

2020-10-28 20:00:20 231

原创 Spark 基础教程

Spark是基于内存计算的大数据并行计算框架,可用于构建大型的、低延迟的数据分析应用程序。Spark特点运行速度快:Spark使用先进的DAG(Directed Acyclic Graph,有向无环图)执行引擎,以支持循环数据流与内存计算,基于内存的执行速度可比Hadoop MapReduce快上百倍,基于磁盘的执行速度也能快10倍。容易使用:Spark支持使用Scala、Java、Python和R语言进行编程,简洁的API设计有助于用户轻松构建并行程序,并且可以通过Spark Shell进行交互式

2020-10-27 22:56:51 1606

原创 Scala

Scala语言介绍Scala环境安装Scala基础语法Scala变量创建scala函数scala方法scala数组scala映射scala元组Scala的语言特点面向对象:Scala是一种面向对象的语言,Scala中的每个值都是一个对象,包括基础数据类型(即布尔值、数组等)在内,连函数也是对象。函数式编程:Scala也是一种函数式语言,其函数能够当成值来使用。Scala提供了轻量级的语法用以定义匿名函数,支持高阶函数,允许嵌套多层函数,并支持柯里化。静态模型:Scala具备.

2020-10-25 14:05:40 226

原创 Spark-Core-RDD

Spark是什么?速度非常快:基于流式计算,速度要比hadoop快100倍,离线计算比mr快10倍左右易用:spark提供了超过80个高阶算子,并支持多种编程语言:Java/Scala/R/Python通用性:提供了几乎大数据中所有的技术栈随处运行:yarn、standalone总而言之,它是一个集成了离线计算、实时计算、图计算、机器学习,并包括sql查询等等的计算框架RDD:弹性 分布式 数据集弹性:如果内存充足,那么数据的存储和计算都在内存中进行,如果内存不足,那么就溢出到磁盘.

2020-10-24 16:34:00 186

原创 Elasticsearch

什么是Elasticsearch?Elasticsearch是一个开源的分布式、Restful风格的搜索和数据分析引擎,它的底层是开源数据库Apache Lucene。一个分布式的实时文档存储,每个字段可以被索引与搜索一个分布式实时分析搜索引擎能胜任上百个服务节点的扩展,并支持PB级别的结构化或者非结构化数据Elasticsearch基本概念1)全文检索(Full-text Search)全文检索是指计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出.

2020-10-21 22:21:52 101

原创 Redis

介绍Redis是完全开源的,是一个高性能的Key-value数据库。Redis具有三个特点:1,Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用2,Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储3,Redis支持数据的备份,即master-slave模式的数据备份Redis的数据类型Redis支持五种数据类型:string(字符串)、hash(哈希)、list(列表),se.

2020-10-20 20:10:13 86

原创 Spark Streaming

一、Spark Core算子二、Spark Session算子三、Spark Streaming算子transform(黑名单过滤)spark Streaming的算子几乎都是作用在DStream中,而DStream的本质是RDD,如果想要直接操作DStream中的RDD,需要借助算子transfromnc -lk ip port数据:197.129.76.123##2020-10-19 11:11:11##GET /taobao/image/common/1.jpg Http/1.1##2

2020-10-19 20:02:15 106

原创 Yarn资源管理器

Yarn简介Apache Yarn(Yet another Resource Negotiator)是Hadoop集群的资源管理系统,负责为计算程序提供服务器计算资源,相当于一个分布式的操作系统平台,而MapReduce等计算程序则相当于运行于操作系统之上的应用程序。Yarn被引入Hadoop2.0,最初是为了改善MapReduce的实现,但是因为具有足够的通用性...

2020-10-11 09:21:16 491

原创 http https tcp udp ip

OSI:Open System Interconnect,即开放式系统互联。将网络通信的工作分为7层,如下:-应用层,HTTP,SSH-表示层-会话层,-传输层,TCP,UDP-网络层,IP-数据链路层,以太网-物理层,线路,无线电,光纤HTTPHTTP: HyperText Transfer Protocol,超文本传输协议http是互联网最为广泛的一种网络协议,所有的WWW文件都遵守这个文件。http是客户端浏览器或者其他程序与web服务器之间的应用层通信协议。在Intern

2020-10-10 22:37:18 294

原创 Zookeeper

Zookeeper的功能简介Zookeeper是Hadoop生态圈的一个组件,是一个开源的分布式协调服务框架,提供了分布式程序的强一致性。分布式应用程序可用基于Zookeeper实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调\通知、集群管理、Master选举、配置维护、分布式同步、分布式锁、分布式队列。Zookeeper的选举机制1,选举机制由于没有指定谁是leader,谁是follower,zookeeper集群内部需要通过选举产生一个leader,其他为followe。(选举是.

2020-10-10 20:12:24 86

原创 Java程序如何加载Properties文件

类名.class.getClassLoader.getResourceAsStream():默认从classPath下拿数据getClassLoader获取类的加载器

2020-10-10 15:21:56 97

原创 数仓工具HIVE

1,HIVE命令默认开启元数据服务,在你没有配置以下属性时<property> <name>hive.server2.thrift.port</name> <value>10000</value> </property> <property> <name>hive.server2.thrift.bind.host</name> <value>192.168.49.100&lt

2020-10-01 20:43:02 253

原创 HADOOP-YARN-JDK

HADOOP-core-site.xml <property> <!--配置分布式文件系统的schema,ip以及port,默认hadoop1.x的默认端口是9000,hadoop2.x的默认端口为8020--> <name>fs.defaultFS</name> <value>hdfs://10.206.0.4:9000</value> </property>

2020-10-01 20:11:53 133

原创 nat方式 虚拟机Linux网络环境配置

1,修改/etc/sysconfig/network-scripts/ifcfg-ens33文件BOOTPROTO=static //static表示静态IP,dhcp表示动态IPONBOOT=yes //是否开机后自动使用立即生效IPADDR=192.168.10.111NETMASK=255.255.255.0nm_controlled=yes //设置network manager的参数,实时生效,修改后无需重启网卡GATEWAY=192.168.10.2DNS1=11..

2020-10-01 13:40:29 115

原创 正则表达式-scala

()表示分组,把某些连续的字符视为一个整体对待[]匹配一位字符,[a-z]匹配a到z中的一位字符,[ ^a-z[hk]]这一位的字符不能是除h,k之外的任意的小写字母{},{m}对前面的一位字符或者一组字符连续出现了m次;{m,}表示前面的一位或者一组字符连续出现了至少m次;{m,n}表示前面的一位或者一组字符连续出现了至少m次,至多n次. 表示通配符,可以匹配一个任意的字符?前面的一位或者一组字符连续出现0次或者1次+前面的一位或者一组字符连续出现了1次或者多次*前面的一位或者一组字符连续出.

2020-09-28 21:02:20 228

原创 ClassOf,isInstanceOf[T],asInstanceOf[T]

Scala的三个预定义(predefined)方法classOf[T]获取类型T的Class的对象,返回类型的运行时的状态,这是一个存根方法。实际上的实现,是由编译器填补isInstanceOf[T]判断对象是否为T类型的实例asInstanceOf[T]将对象类型强制转换为T类型isInstanceOf[T]和asInstanceOf[T]由scala.Any类定义,是Scala类层级的根类,因此所有对象都自动拥有isInstanceOf和asInstanceOf两个方法。...

2020-09-28 18:20:17 215

原创 IP

子网掩码是用来判断任意两台计算机的IP地址是否属于同一个子网络。最为简单的理解就是两个计算机各自的IP地址与子网掩码进行and运算后,如果得出的结果是相同的,则说明这两台计算机处于同一子网络上,可以进行直接的通讯。设备介绍:1,路由器,路由器是连接两个或多个网络的硬件设备,在网络间起到网关的作用,是读取每一个数据包中的地址然后决定如何传送的专用智能性的网络设备。它能够理解不同的协议,例如某个局域网内使用的以太网协议,因特网使用的TCP/IP协议。这样,路由器可以分析各种不同类型网络传来的数据包的目的地址

2020-07-17 08:35:12 200

空空如也

空空如也

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

TA关注的人

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