自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 Flink DataStream使用
原力计划

DataStreamDataSourcesSourceFunction简介Stream SourcesFile-basedSocket-basedCollectionbasedCustomSourceFunction基本使用SourceFunction& ParallelSourceFun...

2020-04-18 15:53:31 140 1

原创 Flink基础知识梳理
原力计划

Flink入门基础编程框架wordcount批处理版本wordcount流处理版本Flink基本APIExecutionEnvironmentLazy EvaluationSpecifying KeysSpecifying Transformation Functions使用lambda func...

2020-04-05 01:18:08 113 0

原创 Spark Streaming与Kafka的整合

官网:http://spark.apache.org/docs/latest/streaming-kafka-integration.html 从官网的介绍当中我们也可以发现,Spark Streaming有2种方式去接收kafka的数据: 使用receiver去接收数据,同时使用的是kafka...

2020-01-23 23:17:59 104 0

原创 Spark Streaming中transform算子使用详解

在实际生产中会有一种场景(最典型的就是黑名单的场景),就是需要DStream与RDD之间进行互相操作的,那么此时就需要我们借助transform算子来进行实现了 官网介绍:http://spark.apache.org/docs/latest/streaming-programming-guide...

2020-01-20 10:13:43 315 0

原创 Spark Streaming结合redis实现state的功能

前言 在前面的文章中有介绍SparkStreaming中的updateStateByKey算子,具体可见文章:park Streaming中状态算子的使用,但是使用updateStateByKey算子会存在一个问题,就是必须使用checkpoint,同时造成小文件扎堆的情况 而在这篇文章中Spa...

2020-01-01 19:44:30 284 1

原创 Spark Streaming中foreachRDD算子使用详解

前言 foreachRDD算子会将DStream中的RDD里的数据给写到外部的系统中去;需要注意一点的是,这个函数将会被执行在driver进程当中,而从driver端到executor端必然会涉及到序列化的问题,在本篇文章中将进行详细介绍 官网文档:http://spark.apache.org/...

2019-12-29 15:50:31 224 0

原创 Spark Streaming中状态算子的使用

流处理中状态的概念 流处理中,有个状态(state)的概念: 无状态的:当前批次处理完之后,数据只与当前批次有关 有状态的:前后批次的数据处理完之后,之间是有关系的 官网的介绍: http://spark.apache.org/docs/latest/streaming-programming...

2019-12-22 04:06:49 181 0

原创 Spring Boot基本使用

平台岗日常开发离不开Spring Boot,写篇文章记录Spring Boot入门的一些基本操作 Spring Boot介绍 Spring Boot和Sping MVC的关系 Spring Boot是Spring MVC的升级版,两者没有必然的联系;在学习Spring Boot之前没有必...

2019-12-03 01:51:45 238 0

原创 HDFS Block损坏的解决方式与思考

背景&现象 断电导致HDFS服务不正常,并显示块损坏 恢复步骤 检查HDFS系统文件健康 $>hdfs fsck / 注:通过web ui也可以进行查看 检查是对应的哪些block发生了损坏 $>hdfs fsck -list-corruptfileblocks ...

2019-09-09 01:03:46 380 0

原创 设计模式系列(三)—— 建造者模式

定义与类型 定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示 用户只需指定需要建造的类型就可以得到它们,建造过程及细节不需要知道 类型:创建型 建造者模式就是如何一步一步构建包含多个组件的对象;相同的构建过程可以创建出不同的产品,比较适用于流程固定但是顺序不一定固...

2019-08-18 17:27:22 120 0

原创 自定义实现ORMapping框架

自定义实现ORMapping框架的核心在于反射和注解的应用,关于这部分的内容可以参考文章: Java反射总结 Java自定义注解的实现 在本篇文章中主要实现save方法,关键在于以下几步: 自定义注解的实现 通过反射获取表名和字段名 SQL拼接的实现 DBUtils的开发 具体代码如下 ann...

2019-08-11 23:47:09 235 0

原创 Hive使用lateral view和explode处理嵌套json

最近有个需求,需要解析数仓中某张表的某个字段,该字段为Json,且为嵌套的多层Json,Json格式如下: 由于是生产环境上的数据,因此对于某些value以xxx进行替代,并不影响sql的编写 需求是需要提取出每个这种json中所有的brandName 思路1: 思路2: 思路3: ...

2019-07-31 19:55:44 1159 0

原创 Java自定义注解的实现

注解是Java开发中比较常用的一项技能,本篇文章将结合注解与反射这2块知识点进行讲解,为后续的自定义实现ORM框架做铺垫。关于Java反射的文章可以见本篇文章:Java反射 注解的定义 JDK5引入的新特性;在引入这个新特性之后,就被大量的框架所采用,在Spring中应用的及其广泛 注解可以大大...

2019-07-21 18:58:42 212 0

原创 大数据集群资源监控(二)—— Hadoop相关指标获取

本篇文章接着上篇内容继续,地址:添IDC集群相关指标获取 在获取了对应的IDC机器自身的指标之后,还需要对Hadoop集群中HDFS和YARN的指标进行采集,大体思路上可以有2种: 第一种当然还是可以延用CM API去获取,因为CM中的tssql提供了非常丰富的各种指标监控 第二种即通过jmxJ...

2019-06-30 14:04:25 1197 0

原创 设计模式系列(二)—— 工厂方法&抽象工厂

工厂方法 定义与类型 定义:定义一个创建对象的接口,但让实现这个接口的类来决定实例化哪个类;工厂方法让类的实例化推迟到子类中进行 类型:创建型 在我们创建对象的过程中,往往会是一个非常复杂的过程,同时创建对象也有可能会导致大量重复的代码;而工厂模式通过单独的定义一个创建对象的方法来解决这个问题,...

2019-06-23 18:23:43 131 0

原创 设计模式系列(一)—— 简单工厂

原理 定义与类型 定义:由一个工厂对象决定创建出哪一种产品类的实例 类型:创建型,但不属于23种设计模式 注意:抽象工厂和工厂方法都是由简单工厂一步一步演进过来的 适用场景 工厂类负责创建的对象比较少 客户端(应用层)只知道传入工厂类的参数 对于如何创建对象(逻辑)不关心 优点与缺点 优点...

2019-06-09 01:27:18 121 0

原创 Java反射总结

概述 Java反射机制是在运行状态中 在运行过程中,可以利用反射机制提供的技术为我们做一些事情,而这些事情对于框架来说是非常重要的 对于任何一个类,都能知道该类的所有属性和方法 前提是在运行状态下,利用反射机制提供的功能是可以知道获取到这些内容的 对于任何一个对象,都能调用它的任意一个方法和属性...

2019-05-02 23:03:04 134 0

原创 大数据集群资源监控(一)—— IDC集群相关指标获取

背景: 公司自建IDC机房,基于IDC机房构建大数据集群;需要对集群资源进行监控,集群采用的是CDH集群,采集主要分两块进行: HDFS和YARN相关的指标进行采集 IDC机器自身的指标进行采集 注意: 也许有人会有疑惑,CM界面已经提供了监控的图表,为什么还需要自己进行展示。原因在于,这些信...

2019-04-11 02:21:50 964 0

转载 Hive调优技巧

本篇文章转载自:https://blog.csdn.net/Superman404/article/details/84074771 1.Fetch抓取 set hive.fetch.task.conversion=more(默认) Fetch 抓取是指,Hive 中对某些情况的查询可以不必使用...

2019-04-07 22:54:32 131 0

原创 Kafka系列 —— 生产实践分享

Kafka系列文章: Kafka系列 —— 入门及应用场景 & 部署 & 简单测试 Kafka系列 —— Kafka核心概念 Kafka系列 —— Kafka常用命令 Kafka系列 —— Kafka监控 Kafka系列 —— Kafka消...

2019-03-02 23:38:57 706 0

原创 Java多线程总结

文章目录线程的实现方式继承Thread类实现Runnable接口两种启动方式的比较Thread的JDK源码分析源码中Thread.java代码中的相关描述源码中关于start方法的相关描述Thread构造方法变量在线程中的使用成员变量局部变量线程的同步问题案例演示&问题提出&...

2019-02-16 03:04:07 339 0

原创 mac下编译Hadoop 2.8.1报错An Ant BuildException has occured: exec returned: 1,排错过程

编译hadoop 2.8.1,产生报错,报错信息如下: 通过报错信息,我们去对应的路径下查看build-main.xml文件: <?xml version="1.0" encoding="UTF-8" ?> &l...

2019-02-07 00:32:23 2849 0

原创 Kafka系列 —— Kafka消费语义分析&分区策略解读

Kafka系列文章: Kafka系列 —— 入门及应用场景 & 部署 & 简单测试 Kafka系列 —— Kafka核心概念 Kafka系列 —— Kafka常用命令 Kafka系列 —— Kafka监控 Kafka消费语义分析 通常架构:Flume --&am...

2019-01-27 22:58:28 1258 0

原创 Shell在大数据场景中的使用

shell脚本在任何场景中都比较常见,对于大数据中也是如此,本文将以metastore service为例,讲解如何在大数据场景中编写一个通用的metastore service的shell脚本 hive metastore service 通常来说Hive的使用方式有2种: 直接启动h...

2019-01-14 00:20:29 559 0

原创 Kafka系列 —— Kafka监控

Kafka系列文章: Kafka系列 —— 入门及应用场景 & 部署 & 简单测试 Kafka系列 —— Kafka核心概念 Kafka系列 —— Kafka常用命令 常见Kafka监控工具介绍 1 Kafka-we...

2018-12-23 01:46:41 1430 0

原创 Kafka系列 —— Kafka常用命令

Kafka系列文章: Kafka系列 —— 入门及应用场景 & 部署 & 简单测试 Kafka系列 —— Kafka核心概念 创建topic bin/kafka-topics.sh --create \ --zookeeper 192.168.137.141:2...

2018-12-08 20:59:54 1076 0

原创 Kafka系列 —— Kafka核心概念

Kafka系列文章: Kafka系列 —— 入门及应用场景 & 部署 & 简单测试 topic & partition & replication bin/kafka-topics.sh --create \ --zookeepe...

2018-11-26 01:16:11 941 0

原创 Kafka系列 —— 入门及应用场景 & 部署 & 简单测试

Kafka系列为自己学习与使用Kafka中遇到的问题与总结。本系列将介绍如下内容: Kafka入门及应用场景 & 部署 & 简单测试 Kafka核心概念 Kafka常用命令 Kafka监控 Kafka消费...

2018-11-25 01:20:04 1200 0

原创 Livy简单使用 & 架构解读

Livy使用 —— 关于Session的操作 官网案例:http://livy.incubator.apache.org/examples/ REST API:http://livy.incubator.apache.org/docs/latest/rest-api.html 通过REST API...

2018-11-10 02:26:03 6869 5

原创 Livy安装&部署

官网 http://livy.incubator.apache.org/get-started/ Download [hadoop@hadoop001 software]$ wget http://mirrors.hust.edu.cn/apache/incubator/livy/0.5.0-in...

2018-11-05 01:14:28 2743 0

原创 初识livy

背景介绍 对于Spark有这样一个应用场景:Spark应用程序都是通过spark-submit进行提交的;而在工作当中,肯定是要将我们的spark-submit封装到shell里面去的,比如:今天凌晨去处理昨天的数据,肯定是需要获取到date,然后做 date - 1 操作(当前天数减1就是昨天...

2018-10-31 01:34:46 1454 0

原创 大数据开发工程师校招面经

一只菜鸟在校招面试过程中,大数据开发岗位的一些面经 新华智云 一面(30分钟) 谈谈你对HDFS的了解 Hadoop2.0做了哪些改动 Spark与MR的区别在哪里 知道除了Spark之外的大数据处理框架嘛 Spark shuffle,说说 StringBuilder与StringBuffer的...

2018-10-19 18:17:15 4758 3

原创 synchronized关键字原理

不管是在校招还是社招中的面试,常会被问到volatile与synchronized的区别,在volatile关键字剖析文章中已经介绍了相关的原理,在本篇中将剖析synchronized关键字原理 众所周知 synchronized 关键字是解决并发问题常用解决方案,有以下三种使用方式: 同步普通...

2018-10-15 22:59:12 307 0

原创 volatile关键字剖析

volatile的语义 一旦一个共享变量(类的成员变量、类的静态成员变量)被volatile修饰之后,那么就具备了两层语义: 保证了不同线程对这个变量进行操作时的可见性 即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的 禁止进行指令重排序 举例,线程1先执行,线程2后执行: //...

2018-10-07 18:42:44 301 0

原创 Hive进阶(2)—— 存储格式

存储格式基本概念 官网:https://cwiki.apache.org/confluence/display/Hive/FileFormats 官网介绍: Hive supports several file formats: * Text File * SequenceFile ...

2018-09-27 22:55:28 1928 0

原创 Hive进阶(1)—— 压缩

压缩简介 & 为什么使用压缩 & 常用压缩技术 压缩简介 用户行为数据 GB TB … 越来越大 数据量越来越大 ==> 面对问题:如何高效的处理 ==> 优化 Hadoop生态系统 :对数据进行压缩处理使得提高我们的数据处理效率 如...

2018-09-24 20:11:12 1143 0

原创 Java内存模型

计算机内存模型 计算机在执行程序时,每条指令都是在CPU中执行的,而指令执行的过程中,势必涉及到数据的读取和写入。由于程序运行过程中的临时数据是存放在主存(物理内存)当中的,这时就存在一个问题: 由于CPU执行速度很快,而从内存读取数据和向内存写入数据的过程跟CPU执行指令的速度比起来要慢很多,...

2018-09-22 01:07:07 282 0

原创 Spark内存管理(4)—— UnifiedMemoryManager分析

Spark内存管理系列文章: Spark内存管理(1)—— 静态内存管理 Spark内存管理(2)—— 统一内存管理 Spark内存管理(3)—— 统一内存管理设计理念 acquireExecutionMemory方法 关注UnifiedMemoryManager中的accquir...

2018-09-12 12:30:29 1176 0

原创 Spark内存管理(3)—— 统一内存管理设计理念

Spark内存管理系列文章: Spark内存管理(1)—— 静态内存管理 Spark内存管理(2)—— 统一内存管理 在本文中,将会对各个内存的分布以及设计原理进行详细的阐述 相对于静态内存模型(即Storage和Execution相互隔离、彼此不可拆借),动态内存实现了存储和计算内存的动...

2018-08-26 11:59:18 1203 0

原创 Spark内存管理(2)—— 统一内存管理

Spark内存管理系列文章: Spark内存管理简介(1)—— 静态内存管理 堆内内存 Spark 1.6之后引入的统一内存管理机制,与静态内存管理的区别在于Storage和Execution共享同一块内存空间,可以动态占用对方的空闲区域 其中最重要的优化在于动态占用机制,其规则如下:...

2018-08-25 01:10:26 1257 0

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