自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

贾宝的博客

愿我的代码生涯少点bug吧...

  • 博客(36)
  • 资源 (1)
  • 收藏
  • 关注

原创 带你看懂Spark2.x源码之Task分配算法

上篇博客中写了关于Stage划分,这次把我对Task分配算法的理解给大家分享一下。点击上篇博客中最后那个代码的TaskScheduler.submitTasks,会发现这里定义了一个方法,但并没有实现def submitTasks(taskSet: TaskSet): Unit点击进去,并选择第三个接下来继续点击super后面的submitTasks查看代码会发现,在这里针对每...

2018-11-26 19:56:41 1966 1

原创 带你看懂Spark2.x源码之stage划分

大家应该知道,我们对作业进行运行时,是通过action算子来实现job的划分,而每个job在提交过程中,又是怎样去处理的呢,今天我给大家介绍一下spark2.x的源码。先通过action算子,调用run job()方法,例如foreach算子 def foreach(f: T => Unit): Unit = withScope { val cleanF = sc.clea...

2018-11-24 20:24:55 1203

原创 leetcode反转链表

1.递归法 public ListNode reverseList(ListNode head) { if(head==null||head.next==null) return head; ListNode p = reverseList(head.next); head.next.next=head; head.next=...

2019-03-13 12:10:39 223

原创 寻找两个有序数组的中位数

class Solution { public double findMedianSortedArrays(int[] nums1, int[] nums2) { int i=0,j=0; List<Integer> list = new ArrayList<>(); while(i<nums1.length||j&lt...

2019-03-12 14:39:54 205

原创 LeetCode两数之和

class Solution { public ListNode addTwoNumbers(ListNode l1, ListNode l2) { if(l1==null){ l1=new ListNode(0); } if(l2==null){ l2=new ListNode(0); ...

2019-03-12 13:59:21 410 1

原创 linux中定时任务的建立

在工作过程中,一般是需要写一些脚本,周期性的去执行它。可以使用Azkaban来调度,也可以编写linux上的定时任务,对于初学者来说使用定时任务就已经足够了,Azkaban主要还是用于一连贯的工作流。接下来,我就简单讲解一下定时任务怎么创建。编写使用crontab -e 可以进入一个文件中,让我们开始编写它。大致格式如下* * * * * echo ‘hello world’ >&g...

2019-01-14 22:56:20 346

原创 Azkaban错误解决

在azkaban中有时候明明代码没有错误,可就是运行不出来,报这样的错误:azkaban.jobExecutor.utils.process.ProcessFailureExceptionazkaban.jobExecutor.utils.process.ProcessFailureException这时你可以查看下是否是自己的编码格式的错误,azkaban应该使用的是unix格式。可以使用...

2019-01-08 17:40:33 6497

原创 数仓hive的增量表和全量表

数据仓库即Data Warehouse,简称DW,主要研究和解决从数据中获取信息的问题,为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。一般在工作当中,使用的都是数仓,尤其使用hive的次数最多。在日常开发中,会遇到这样的情况。比如有些数据需要统计全部的,也就是自上线到当前的,例如用户列表;但有些数据统计的是多少天为一个周期的,例如统计订单,然后根据订单进行数据分析,统计订单这个...

2019-01-08 00:48:56 10736

原创 Hbase的热点问题

在使用hbase中,不免会出现热点问题。那么什么叫做热点问题呢?就是某些region的数据量比较大,某些region的数据量比较小,就导致了某几个的region server的负载量较大。当我们采用默认的配置时,它会默认使用一个region,当region的数据量大到一定程度时,会发生split分成两个region。通常情况下,我们存储的rowkey都是以字典顺序存储,这样的话,由于regio...

2019-01-02 20:18:42 907 1

原创 安装python环境之Anaconda3

对于初学者来说,安装python环境的方式有两种,一种是安装原生的python,另一种就是今天我要介绍的安装Anaconda3。Anaconda相当于一个python的整合包,是一个开源的python发行版本,里面有各种科学包和依赖项,使用起来非常简单。下载官网地址:https://www.anaconda.com/download/国内镜像:https://mirrors.tuna....

2018-12-27 20:31:25 1827 2

原创 使用fastjson解析json字符串

在日常的工作中,json是一种非常常见的数据格式,它可以被理解为键值对存储的。由于最近分析业务的时候,又处理了两种json字符串,今天我就将怎么处理的给大家分享一下,希望能够给学习这方面的朋友一些帮助。再给大家安利个网站https://www.json.cn/,可以分析你得到的数据是否是json格式的。1.Json套Json我自己造了条数据,需求是取到内部json中的score。{"842"...

2018-12-19 21:29:07 32650 1

原创 Hive常用内部函数

1.取随机数rand()可以取到0-1之间的随机数,里面也可以随便设立一个种子,如rand(10),这时无论你输入多少次rand(10)都会到的一个稳定的0-1的随机数序列。2.分割字符串这个和java中的分割一样,是split,不过不同的是这里语法为split(str,分隔符),返回的也是一个array数组,同样可以通过数组下标来取值。3.字符串截取函数和java中substring用...

2018-12-19 20:48:46 236

原创 IDEA将依赖的第三方jar包打入jar包

昨天有人问我:使用Idea编译器,用自定义UDF在hive中清洗数据、处理数据,这时,使用的一些第三方jar包,在服务器上没有,打出来的udf的jar包也只有几k,不包含所依赖的jar包。所以运行时会报错,这时该怎么处理呢?在pom文件中添加如下代码,然后等待mvn加载完成,点击右边的maven projects,点击life cycle的package。或者在Terminal中输入mvn pa...

2018-12-18 19:47:07 7473 1

原创 sqoop导入hive遇到的错误

ERROR manager.SqlManager: Error reading from database: java.sql.SQLException: Streaming result set com.mysql.jdbc.RowDataDynamic@77e4c80f is still active. No statements may be issued when any streami...

2018-12-17 18:09:06 1529 1

原创 Idea怎么连接Gitee

对于程序员来说,github带来了极多的便利,而且提供了一个开源的环境供大家学习。现在开源中国旗下的码云也开始流行了起来,原因是因为它的操作和github类似,主要的是它是中文的,方便国人的使用。而Idea插件中就自带了github的连接,今天我要介绍的就是Idea怎么连接Gitee。没有配置的情况下,在Settings的Plugins中输入git,只出现GitHub和Git Integra...

2018-12-05 15:30:40 23719 3

原创 Linux装CentOS7最详细步骤

之前写了一篇关于安装CentOS6.5mini版的全步骤攻略。后来一想对于学习者来说,学使用CentOS7的更为重要,因为企业里用CentOS7的比6.5的要多,这次我就讲解一下安装CentOS7的全步骤。6.5的超链接=>CentOS6.5。前提一个CentOS7的DVD,以及VMware工具,电脑必须打开bios中的虚拟化(可以根据自己电脑配置在网上搜索)。步骤文件 =&g...

2018-12-02 21:50:51 3184

原创 Flume读取文件传输到Kafka全流程

前期工作先部署Kafka集群和Flume。Flume在解压后只需要在flume-env.sh中修改jdk路径就行了。而Kafka集群相比较下就有点复杂了,步骤如下:解压kafka的压缩包。vi /config/server.properties,在其中进行下面4,5,6步broker.id=0 ,这个是每台机器的标识,不可重复。delete.topic.enable=true,这...

2018-11-30 19:29:42 7253 3

原创 Hive(数据仓库)与数据库的区别

数据库和数据仓库,虽然名字只有一点点不同,但是性质却有很大的区别。数据仓库是什么?数据仓库是为企业制定各个级别的决策,可以提供各种数据类型支持的战略集合。它们两种之间的区别,就由我来给大家介绍一下吧。1. 存储数据位置众所周知,Hive是Hadoop生态圈中不可缺少的一部分。Hive的元数据存储在自带的derby数据库中,可它实际的数据存储在HDFS上。可数据库的数据存储在块设备上或者...

2018-11-29 21:10:32 6494 1

原创 仅用一次MapReduce就可以找共同好友!

pom文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="ht

2018-11-28 22:54:22 252

原创 HUE错误解决

Cannot access: /user/admin. " “” 注:您是 Hue 管理员,但不是 HDFS 超级用户(即 ““Hdfs””)。"""解决方案:这里需要在/hue-3.7.0-cdh5.3.6/desktop/libs/hadoop/src/hadoop/fs/webhdfs.py中修改DEFAULT_HDFS_SUPERUSER。SecurityException:

2018-11-27 20:28:51 3728

原创 Linux安装CentOS6.5mini版全攻略

在使用VMware装CentOS6.5mini的时候,会出现如下图这种情况,解决方案有两种:一、这时按CTRL+ALT+F4能进入。二、也可以先创建虚拟机,然后再添加操作系统,我这次就向大家介绍一下如何使用第二种方案解决问题。安装步骤还是新建虚拟机,选择典型这次选择第三个:稍后安装操作系统不用修改,点击下一步修改虚拟机名称和位置,再点击下一步。之后几步就是下一步和完成,不用修...

2018-11-26 13:14:45 2814 1

原创 The remote SSH server rejected X11 forwarding request

在使用Xshell连接Linux虚拟机上会出现Warning:The remote SSH server rejected X11 forwarding request这时只需要安装一个安装包就可以了,使用如下命令 yum -y install xorg-x11-xauth然后断开连接,再次重新连接时它会报一个文件不存在,但是再次重新连接时就不会报任何错误了。...

2018-11-26 11:50:57 1405

原创 scala中的foreachPartition和mapPartition

在最近项目中,因为由于数据量不是特别大并且内存充足,所以采用了foreachPartition代替了foreach,使用了mapPartition代替了map。下面给大家讲解一下,关于他们之间的区别。map是spark中非常强大的一个算子,可以对RDD中每个元素进行转换,文件中的每行数据都会返回一个数组对象。而mapPartition一下处理的是一个分区中的数据,所以在数据量并不是很大的情...

2018-11-21 22:35:48 4416

原创 Linux系统tp集群时间同步

ntp:集群时间同步,具有险意识,如果需要同步的服务器和目标服务器时间差很多,不执行。Ntpdate:一般用于互联网同步问题,执行该命令,时间立即同步,一般不用于生产环境。ntp集群时间同步步骤如下:单台机器时间调整标准时间date查看当前时间。输入service ntpd stop关闭ntpd,并输入 tzselect输入5,选择Asia。输入9,选择China。5....

2018-11-21 20:18:03 229

原创 Linux系统同步集群Shell脚本

在配置集群内的配置文件或者软件时,使用以下这个shell脚本时,会发现特别简单,代码和使用方法如下:前提需要将配置好的机器准备好与其他机器的免密登录。免密登录步骤如下:输入 ssh-keygen 获取公钥和私钥输入 ssh-copy-id [ip地址] 将公钥拷给其他机器输入该机器的密码就可以了。可以用ssh [hosts内的机器名] 测试是否登录需要密码。脚本代码#!/...

2018-11-21 19:44:11 360

原创 手把手教你装HBase

由于工作的需要,最近又要配置一遍HBase集群了,正好先在自己的电脑上再熟悉一下。Hbase的前提工作是必须要装好Hadoop集群,我在之前的博客上讲解了如何装伪分布式和全分布式,这里大家可以去看一下[Hadoop集群的搭建](https://blog.csdn.net/qq_41571900/article/details/84192871)...

2018-11-21 10:10:18 363

原创 Kafka直连方式存储MySQL

记得在之前写了一篇是MySQL基础使用的,这次就用MySQL来保存Direct方式的偏移量。代码如下:package kafka1import kafka.common.TopicAndPartitionimport kafka.message.MessageAndMetadataimport kafka.serializer.StringDecoderimport org.apach...

2018-11-18 22:15:42 8277

原创 Kafka直连存储ZK

这次的博客向大家介绍一下将偏移量存储在Zookeeper中。我在注明书写逻辑的地方,可以在那里对RDD进行算子操作。package kafka1import kafka.common.TopicAndPartitionimport kafka.message. MessageAndMetadataimport kafka.serializer.StringDecoderimport...

2018-11-18 22:09:44 1350

原创 Kafka直连存储HBase

在之前介绍了Kafka与SparkStreaming交互的两种方式,我提到了公司采用的是Direct方式,这次我向大家分享一下将偏移量存储在HBase中。代码如下:package kafka1import kafka.common.TopicAndPartitionimport kafka.message.MessageAndMetadataimport kafka.serializer...

2018-11-18 21:44:08 1305

原创 SparkStreaming读取kafka数据的两种方式

ReceiveReceive是使用的高级API,需要消费者连接Zookeeper来读取数据。是由Zookeeper来维护偏移量,不用我们来手动维护,这样的话就比较简单一些,减少了代码量。但是天下没有免费的午餐,它也有很多缺点:1.导致丢失数据。它是由Executor内的Receive来拉取数据并存放在内存中,再由Driver端提交的job来处理数据。这样的话,如果底层节点出现错误,就会发生数...

2018-11-18 21:32:31 8551 2

原创 Kafka之消费者分区分配策略

前言之前的一篇博客写的是Kafka基础了解一下(附上超链接,可以点进去看看)对Kafka简单介绍了一下。既然我们知道消费者组会协调去消费Topic下的partition,那么它是如何去协调的,是不是也要去了解了解。简介Kafka的分区实际上继承了一个接口AbstractPartitionAssignor,而这个接口下有两个实现的类,实现了RoundRobinAssignor和RangeAss...

2018-11-17 21:20:28 1799 1

原创 配置Hadoop集群

之前有篇讲解了下Hadoop的简介以及HDFS,接下来我将如何配置hadoop集群给大家讲解一下,这是本人经过在自己电脑上配置多次后所得到的完整版配置步骤,相关的软件压缩包可以在官网下载或者在CSDN上搜索。在这里,我所使用的是CentOS6.5版本的,Hadoop是2.7.2版本的,jdk为1.8。前提条件准备几台虚拟机,最少三台将机器的网络配置好,如果后面几台机器的是克隆的话,需要进行...

2018-11-17 21:11:38 151

原创 Kafka基础了解一下

Kafka简介Kafka是一个分布式的流式信息处理平台。通俗的来说,它可以被理解为是一个帮助我们临时存储消息的插件,也就是消息中间件或者消息队列。而它适用于什什么时候呢? 试想,当我们获取到的数据量特别大,而进行计算的集群无法及时进行处理,会造成数据堆积,对集群的影响很大,甚至可能造成数据的丢失。但是,如果我们先将数据存放在kafka服务器集群上,这样的话,计算多少就拉取多少数据,不会造成数据...

2018-11-17 17:32:48 247

原创 Hadoop简介及HDFS

1.Hadoop简介Hadoop是Apache基金会开发的分布式系统基础架构。开创者是Lucene–Doug Cutting,而Google是hadoop的思想之源(GFS–>HDFS,Map-Reduce–>MR,BigTable–>HBase)。

2018-11-10 20:00:15 237

原创 Linux基础命令

简单介绍1.Linux概述Linux是基于Unix的开源免费的操作系统,由于系统的稳定性和安全性几乎成为程序代码运行的最佳系统环境。Linux是由Linus Torvalds(林纳斯·托瓦兹)起初开发的,由于源代码的开放性,现在已经衍生出了千上百种不同的Linux系统。Linux系统的应用非常广泛,不仅可以长时间的运行我们编写的程序代码,还可以安装在各种计算机硬件设备中,比如手机、平板电脑...

2018-11-10 16:08:32 99

原创 SQL简单语法总结

SQL语句分类DDL(Data Definition Language): 数据定义语言,用来定义数据对象:库,表,列等。DML(Data Manipulation Language): 数据操作语言,用来定义数据库记录(数据)。DCL(Data Control Language):数据控制语言,用来定义访问权限和安全级别。DQL(Data Query Language):数据查询语言,...

2018-11-09 22:12:09 166

zookeeper-3.4.10

zookeeper是apache旗下,为大数据中分布式应用提供协调服务的一个软件。在Hadoop的HA中提供了避免单点故障,能够在一个节点宕机时,启动另一个节点,保证7x24高可用。而且HBASE也强依赖于zookeeper。

2018-11-09

空空如也

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

TA关注的人

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