自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

从此一心向前,别无它念

记录下点点滴滴,是一种回忆,也是一种进步

  • 博客(27)
  • 收藏
  • 关注

原创 多表join时条件写在where和on的区别(总结篇)?

在开发过程中经常遇到这种情况:多表关联join时,到底限制的条件是写在where后面效率高还是写在on后面,又或者是先对表过滤使表的数据量减少,到底这三种效率哪种更高,看了一堆网上说的,都没有说到具体点上,现在对这三种情况专门做以下详细说明,你就会明白到底是怎么回事了?干货总结:(以下只适用于left join,right join,full join,不适合inner join)1、lef...

2019-08-25 00:13:25 13506 6

原创 hive 补全多个字段的空值(间隔多个空值或连续多个空值),取字段上一条非空记录的值

在实际业务中,有一个需求中有如下要求,对多个字段中出现的空值补上一次非空的值,主要用来默认市场数据平稳,其中可能出现连续多个空值或者多次间隔的空值,LAG函数只能解决一个null的补数问题,不能解决多个连续的null值补数,在网上有使用自定义udf的方法,但是使用并不方便,不利于日常的开发,现推荐一种使用hql代码的方式直接实现上述需求,简洁方便,高效代码如下:测试数据:测试代码如下:se...

2019-08-24 00:38:05 6459 7

原创 大数据面试题二

1、如果实时数据在写入hbase时,有部分数据异常,怎么快速删除?

2020-10-24 19:24:03 176

原创 记录自己每次大数据面试中的问题(一)

一:spark相关面试问题1、什么是RDD?RDD也叫弹性分布式数据集,它是一个不可变、可分区、里面的元素可以并行计算的一个集合;可以认为就是一个大的数据集,第一它是分布式的,也就是说它可以分布在各个节点上进行计算,第二它是弹性的,也就是每个RDD都可以保存在内存中,当某个阶段的RDD丢失,我们不需要从头开始算,只需要从上一个RDD中开始计算就可以了。2、宽依赖和窄依赖宽依赖就是多个子RDD的partition来自一个父RDD的partition,也可以理解为有shuffle过程,例如reduce

2020-08-23 22:36:36 206

原创 Hive函数大全

目录一、关系运算: 4等值比较: = 4不等值比较: <> 4小于比较: < 4小于等于比较: <= 4大于比较: > 5大于等于比较: >= 5空值判断: IS NULL 5非空判断: IS NOT NULL 6LIKE比较: LIKE 6JAVA的LIKE操作: RLIKE 6REGEXP操作: REGEXP 7二、数学运算: 7...

2019-08-31 00:00:44 289

原创 JVM的简要总结

1、JVM的内存运行机制(重点)JVM栈由堆、方法区、虚拟机栈、本地方法栈、程序计数器等部分组成;<1>程序计数器:每条线程都有一个独立的程序计数器,各条线程之间计数器互不影响,独立存储,如果线程正在执行的是Native方法,这个计数器的值则为空。<2>栈:其中栈包括java虚拟机栈和本地方法栈,虚拟机栈是虚拟机执行的java代码来服务,本地方法栈是执行被Nati...

2019-08-30 23:58:51 141

原创 Spark的最全相关基础理论图

spark运行原理机构图spark的stage阶段划分的算法spark-on-yarn模式sparkContext的构建过程spark 的MasterHA机制worker节点的原理

2019-08-30 23:52:59 140 1

原创 大数据各组件的简要概述

大数据处理组件HDFS : 数据存储 Hadoop项目的核心子项目,是分布式计算中数据存储管理的基础,是基于流数据模式访问和处理超大文件的需求而开发的 具有的高容错、高可靠性、高可扩展性、高获得性、高吞吐率等特征为海量数据提供了不怕故障的存储,为超大数据集(Large Data Set)的应用处理带来了很多便利。 hdfs优点: 1、高容错性 1)数据自动保存多个副本。它...

2019-08-30 23:43:48 1320

原创 大数据必只理论知识(一)

hdfs的写流程:1、客户端向namenode发送数据上传的请求2、namenode进行相关的检查工作:文件是否存在、父目录是否存在、权限检查3、检查完毕,namenode向客户端返回存储的相应的节点信息(就近原则)4、客户端准备上传文件,先将文件进行逻辑切块,根据返回的节点id构建数据块上传通道5、开始进行真正的上传文件,一边上传一边进行物理切块6、在节点上传先存储在内存中,以pac...

2019-08-30 23:41:28 228

原创 ES集群的自动启动脚本

1、先创建一个文件存储脚本:mkdir elasticsearchmv elasticsearch/ elastic2、进入该文件夹:cd elastic3、创建脚本:touch elastic-stop.sh4、添加权限:chmod u+x elastic-stop.sh5、编写脚本:vim elastic-stop.sh6、脚本内容如下:#!/bin/sh######...

2019-08-30 23:35:57 1188

原创 Scala的编程基础大全

1.格式化Double类型数值格式化保留小数并转换为字符串var d: Double = 2.3423var f: String = d.formatted("%.2f")println(f)2.循环循环守卫for (i <- 1 to 10 if i % 2 == 0) println(i)break使用import util.control.Breaks._ → b...

2019-08-30 23:31:42 394

原创 Flume与Kafka的简单整合测试

测试:flume实时采集数据打入kafka中。首先在kafka创建对应的topic:kafka-topics.sh –create –zookeeper hadoop01:2181,hadoop02:2181,hadoop03:2181 –replication-factor 3 –partitions 3 –topic bigscreen-1809然后在flume配置flume和...

2019-08-30 23:27:46 517

原创 Kafka的常用shell命令

############ 1、启动集群每个节点的进程 ############nohup kafka-server-start.sh /home/hadoop01/apps/kafka_2.11-1.1.0/config/server.properties 1>~/logs/kafka_std.log 2>~/logs/kafka_err.log &amp...

2019-08-30 23:23:52 223

原创 集群启动shell命令

第一:启动zookeeperzkServer.sh stopzkServer.sh startzkServer.sh status第二:启动HDFSstart-dfs.shstop-dfs.shhadoop-daemon.sh start namenodehadoop-daemon.sh start datanodehadoop-daemon.sh start zkfchado...

2019-08-30 23:20:28 408

原创 Spark的常见算子的区别(一)

map:用于遍历RDD,将函数应用于每一个元素,返回新的RDD。(transformation算子)mapPartitions:用于遍历操作RDD中的每一个分区,返回新的RDD。(transformation算子)flatMap:先将RDD中的元素进行map操作,然后将map结果‘压平’,效率要优于map。foreach:用于遍历RDD,将函数应用于每一个元素,无返回值。(action算子)...

2019-08-29 23:14:59 594

原创 HBase为什么不建议设置过多的列簇?

在HBase中,是允许设置多个列簇的,但是为什么在实际生产中会设置很少的列簇呢?一般设置在1至3个左右,尽量是越少越好。原因有多个方面,具体简要说明几点:1、列簇的数量对flush的影响在一个RegionServer上有一个或多个region,每个region又由一个或多个store组成,一个store存储的就是一个列簇,也就是说列簇的数量越多,每个region的的store就越多,那么re...

2019-08-28 23:06:21 2684

原创 Kafka的分区分配问题

Kafka的分区分配主要包括三点:生产者的分区分配,消费者的分区分配,broker端的分区分配。1、生产者的分区分配Producer调用send方法发送消息到broker时,中间可能会经过拦截器、序列化器、分区器,当消息ProducerRecord指定了partition字段,则就不需要分区器的作用,会直接发送到指定的partition中,如果没有指定partition字段,那么就会采用分区器...

2019-08-28 00:17:45 1935 1

原创 KafKa的选举

在Kafka的选举中,有很多种选举,下面大概列举几类常见的选举。1、Leader的选举分区leader副本的选举是由kafka controller(控制器)具体负责实施的,当在创建分区(创建主题,或者增加分区都有创建分区的操作)、分区上线(分区中原来的leader副本下线,需要分区选举出一个新的leader上线对外提供服务)、分区的重分配等都有执行leader选举的操作;选举新leader...

2019-08-26 23:40:48 597

原创 Kafka怎么保证数据的一致性和可靠性?

1、可靠性的保证?下面通过从topic的分区副本、producer发送到broker、leader选举三个方面来阐述kafka的可靠性。<1>、Topic的分区副本:其实在kafka-0.8.0之前的版本是还没有副本这个概念的,在之后版本引入了副本这个架构,每个分区设置几个副本,可以在设置主题的时候可以通过replication-factor参数来设置,也可以在broker级别中...

2019-08-25 17:08:39 10964 4

原创 Kafka怎么避免数据丢失和数据重复?

为什么会出现数据丢失和数据重复?<1>、消息发送Kafka有两种同步方式:同步和异步,默认是同步,可以通过参数producer.type来设置,Kafka通过配置request.required.acks属性来生产消息:0——代表不进行消息是否成功接收的确认1——代表当leader接收成功时确认-1——代表leader和follower都接收成功的确认分析一下消息发送时数据...

2019-08-22 23:01:09 2667

原创 如何保证Kafka有且仅消费一次?

Kafka的几个核心的概念:Producer:生产message发送到topicConsumer:订阅topic消费message,Consumer作为一个线程来进行消费Consumer Group:一个Consumer Group包含多个Consumer,这个预先在配置文件中配置Broker:一个Kafka节点就是一个Broker,多个Broker组成Kafka集群Topic:一类消息...

2019-08-21 23:28:10 5348

原创 HBase的MinorCompact的详细解析

首先说一下Compact的作用:在Memstore超过一定的阈值的时候,就要新开一个进程将Memstore flush到storefile中,新的Memstore继续写入接受到的数据,当storefile越来越多时,就会降低读的性能,为了提高读的性能,可以对这些storefile进行compact操作,形多个storefile合并成一个大的storefile,那么compact就需要对HBase...

2019-08-20 23:19:08 2182

原创 HBase在生产中的RowKey设计

在使用Hbase时,对于表设计时,有两点设计至关重要:列簇的设计和rowkey的设计。列簇设计:原则:在合理的范围内能尽量少的减少列簇就减少列簇最优的设计:将所有相关性很强的key-value都放在同一个列簇下,这样的话就既能做到查询效率最高,也能保证尽可能少的访问不同的磁盘文件(因为一个store保存一个列簇,当有多个列簇时就代表有多个store)。以用户信息为例,可以将必须的基本信息存...

2019-08-19 23:13:40 848

原创 HBase的原理剖析

先上一张图,看了很多别人传的系统架构图,都是直接照搬其他人的,有错误也不知道,简直是误人子弟!其中在每个HRegionServer上只有一个HLog,而不是在每个HRegion上都有一个HLog,这样容易造成其他人在理解上的偏差。client的职责:第 1 步:Client 请求 ZooKeeper 获取.META.所在的 RegionServer 的地址。 .META.:记录了用户所有...

2019-08-18 23:12:48 170

原创 hive的性能优化之参数调优

记录一下自己在工作中经常用到的几个参数设置,从调整的实际效果看还是有效果的。企业相关服务器资源配置:平均600台active的节点,每个节点可用的内存在200G左右,可用的memory total:116T1、set hive.exec.parallel=true;开启job的并行:基本每个hql脚本都会开启这个参数,默认并行度为8,在集群资源充足的情况下,可以提高job并行的数量:...

2019-08-18 00:24:56 2066

原创 模拟实现链表结构的增删改查的操作

public class MyLink&lt;T&gt; {    //链表的长度    private long length = 0;    //链表的第一个值的位置    private Node first = null;    //链表的最后一个值的位置    private Node last = null;    //链表的值(内部类的模式) T代表值的类型    p...

2019-01-06 14:30:21 163 1

原创 html制作点名器

&lt;!DOCTYPE html&gt;&lt;html&gt;    &lt;head&gt;        &lt;meta charset="UTF-8"&gt;        &lt;title&gt;&lt;/title&gt;        &lt;style&gt;            #p1{                width: 400

2018-12-01 22:16:58 6180 1

空空如也

空空如也

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

TA关注的人

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