自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

wlk_328909605的博客

抱你于怀,寄你于心。跃然屏上,付我青春韶华,换你真情相待。

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

原创 工作出现问题汇总

nginx启动出错1.进程启动过多,启动的时候会出现闪退,正常情况2.nginx的配置文件 注意路径不能有空格,配置文件中不能出现重复情况3.启动的时候直接从地址栏输入路径...

2019-01-03 15:16:15 548

原创 Springboot+echarts实现可视化

现在在做毕设,做一个电商平台日志分析系统,需要结合可视化,达到一个直观的效果1.搭建springboot项目,maven搭建,这是项目整体架构2.后台代码:@RestController@RequestMapping("/wanglk_bds")public class VisualController { @Autowired private VisualInter...

2019-04-30 17:49:50 13771 4

转载 宁愿使用SLF4J也不愿使用Log4J,logback和java.util.Logging

今天在做日志数据的清洗工作,在清洗的过程中,需要输出一些指定字段,使用SLF4J,原因如下:在你的代码中编写日志记录语句使用SLF4J的主要动机是让你的程序独立于任何特定的日志记录库,这些日志记录库可能需要与你现在配置不同的配置,而且还会引入更多令人头疼的维护问题。然而除了这个之外,SLF4J API还有一个让你使用SLF4J而不是用长期感兴趣的 Log4j 更让人信服的功能,也就是占位符功能,...

2019-04-25 10:17:33 501

原创 Springboot框架学习笔记------SpringBoot使用war、jar部署

SpringBoot默认达成jar包,使用SpringBoot构想web应用,默认使用内置的Tomcat。但考虑到项目需要集群部署或者进行优化时,就需要打成war包部署到外边的服务器上运行。项目打war包的步骤:1.首先导入依赖, <!-- 继承springboot的父级项目的依赖 --> <parent> <groupId>...

2019-03-06 16:53:45 398

原创 Springboot框架学习笔记------实现自定义banner

实现自定义banner的时候,只需要在redource文件下创建banner.txt,在文件中添加自己想要打印的内容即可。首先写一下不让项目打印banner的方法:SpringApplication application = new SpringApplication(JavaApplication.class); application.setBannerMode(Bann...

2019-03-06 14:07:44 226

原创 Springboot框架学习笔记------springboot实现非Web程序

第一种实现方法:实现非web程序的主要步骤 :1.编写一个service接口类,里面编写一个方法public interface UserService { public String sayHi(String name);}2.编写一个实现类,实现上面的接口:@Servicepublic class UserServiceImpl implements UserServi...

2019-03-06 13:26:51 289

原创 Springboot框架学习笔记------springboot整合dubbo

整合dubbo的主要步骤:接口项目开发,打jar包开发dubbo服务提供者开发dubbo服务消费者接口项目开发在一个项目下创建一个实体类和一个能调用该实体类的接口开发dubbo服务提供者1.创建好一个springboot项目,并配置好相关的依赖使用idea创建项目的,直接利用idea插件创建<?xml version="1.0" encoding="UTF-8"?&gt...

2019-03-01 16:16:24 153

转载 高并发条件下的缓存穿透问题

1 缓存穿透缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。在流量大时,可能DB就挂掉了,要是有人利用不存在的key频繁攻击我们的应用,这就是漏洞。key不存在时,大量的数据进来查询DB解决方案:有很多种方法可以有效地解决缓存穿透问题,最常见的则是采用...

2019-02-26 15:50:42 168

原创 Springboot框架学习笔记------基于SpringBoot开发一个Restful服务(简单实现,待深入)

首先理解下什么是restfullrestfull是一种互联网软件设计的架构风格,但他并不是标准,它知识提出了一组客户端和服务端交互时的架构理念和设计原则,基于这种理念和原则设计的接口可以更加简洁,更有层次。任何的技术都可以实现这种理念,如果一个架构符合rest原则,就称它为restful架构在设计web接口的时候,REST主要是用于定义接口名,接口名一般是用名次写,不用动词,那怎么表达“获取...

2019-02-18 17:47:03 298

原创 Springboot框架学习笔记------Springboot集成mybatis和redis

集成redis的前提是已经将mybatis集成好了,前面的文章已经做到了,现在梳理集成redis的。1.首先导入redis的依赖: <dependency> <groupId>org.springframework.boot</groupId> &a

2019-01-31 14:21:42 210

原创 Springboot框架学习笔记------Springboot下事务配置管理

1.首先在入口类中添加注解:@EnableTransactionManagement2.在service实现类中添加注解:@Transactional在主动写一个异常,出现捕获,回滚3但是只有当异常跑出来的时候,才会回滚,如果将异常捕获,则注解失效...

2019-01-30 14:52:12 132

原创 Springboot框架学习笔记------Springboot集成mybatis

1.还是先从maven依赖开始,构建环境,如下:<?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-i

2019-01-30 10:41:30 207

原创 Springboot框架学习笔记------注解学习、springboot下的jsp

Springboot下的springmvc和之前的springmvc的使用是完全一样的几个注解的使用:1.controller:处理http请求,分发处理器将会扫描使用了该注解的类的方法。通俗来说,被Controller标记的类就是一个控制器,这个类中的方法,就是相应的动作。2.@RequestMapping:RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用...

2019-01-28 21:35:03 111

原创 Springboot框架学习笔记------项目搭建、程序解析、配置文件的作用

今天开始学习spring boot,这个框架整合spring和springmvc,简化了很多的配置,这是目前的理解。搭建流程:1.从idea搭建,利用maven创建项目,前提是联网,需要下载maven依赖2.创建成功以后,看项目的结构...

2019-01-28 10:40:58 228

原创 JSON.parse()与JSON.stringify()的区别

JSON.parse()【从一个字符串中解析出json对象】例子://定义一个字符串var data=’{“name”:“goatling”}’//解析对象​​JSON.parse(data)结果是:​name:“goatling”JSON.stringify()【从一个对象中解析出字符串】var data={name:‘goatling’}JSON.stringify(dat...

2019-01-10 17:13:34 120

原创 MySQL中group_concat函数的使用说明以及行列转换

首先讲一下concat函数1.concat函数这是MySQL5API里面的解释CONCAT(str1,str2,…)返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。或许有一个或多个参数。 如果所有参数均为非二进制字符串,则结果为非二进制字符串。 如果自变量中含有任一二进制字符串,则结果为一个二进制字符串。一个数字参数被转化为与之相等的二进制字符串格式;若...

2018-10-30 20:25:09 2082

转载 Kafka相关的面试题

最近几天在找工作,问到了项目中使用Kafka的相关问题,现在总结一下,方便以后使用。这是在一个网站中找到的,这是网站的地址Kafka中文文档,在这里面也有提到。现在一一回答:1,Kafka节点之间备份数据是通过leader进行的,首先leader将follower各个分区中的数据收集起来,完后follower被动的接受数据,这样就做到了节点之间的数据的同步2. kafka消息会丢失。...

2018-10-28 16:22:40 490

转载 SimpleDateFormat、FastDateFormat和Joda-Time的介绍

http://jjhpeopl.iteye.com/blog/2321528总结:SimpleDateFormat是线程不安全的,是因为SimpleDateFormat在对时间进行格式化的时候,先对calendar对象进行setTime操作,在多次调用SimpleDateFormat的时候,就会对该对象进行覆盖,造成线程不安全。解决方法:1.在每次需要使用的时候,进行SimpleDateF...

2018-10-19 10:13:05 1012

原创 中国移动运营分析实时监控平台之SparkStreaming实时数据分析并将最后结果存储到redis中

业务概况通过实时的分析用户的流量数据,获取用户动态的充值的订单量、充值全过程的平均时长、以及某段时间充值的成功率等。首先解析数据格式,从标签体系库中截取出需要的字段值,使用SparkStreaming的对抽取出来的属性加以处理。1)统计每个市的充值失败的次数,并以地图的方式显示数据的分布情况。2)以市为维度,统计订单量排名前5的市,并统计每个市的订单的成功率。3)实时统计全省的每分钟的充值...

2018-10-17 21:03:16 2929

原创 中国移动运营分析实时监控平台之数据采集及SparkStreaming直连Kafka

数据采集阶段通过自定义source,将产生的日志从服务器上缓存到kafka中,并记录自定义的Offset。部分数据:{"bussinessRst":"0000","channelCode":"0705","chargefee":"10000","clientIp":"222.214.151.245","gateway_id"

2018-10-17 20:58:58 1450 1

原创 中国移动运营分析实时监控平台之项目背景和项目需求

1. 项目背景中国移动公司旗下拥有很多的子机构,基本可以按照省份划分. 而各省份旗下的充值机构也非常的多.目前要想获取整个平台的充值情况,需要先以省为单元,进行省份旗下的机构统计,然后由下往上一层一层的统计汇总,过程太过繁琐,且统计周期太长. 且充值过程中会涉及到中国移动信息系统内部各个子系统之间的接口调用, 接口故障监控也成为了重点监控的内容之一.为此建设一个能够实时监控全国的充值情况的平...

2018-10-17 20:36:17 3314

原创 MySQL中的函数、参数和作用域

函数函数:将一段代码块封装到一个结构中,在需要执行代码块的时候,直接调用代码块即可,也就是实现代码复用。函数分为两类:系统函数和自定义函数。系统函数系统定义好的函数,直接调用即可。任何函数都是有返回值的,因此函数的调用都是通过select调用。MySQL中,字符串的基本操作单位是字符(最常见的是字符)。char_length和length:查看字符串的字符串长度和字节长度不难看...

2018-10-05 00:02:53 2100

原创 SparkSQL中的三种Join及其具体实现(broadcast join、shuffle hash join和sort merge join)

1.小表对大表(broadcast join)将小表的数据分发到每个节点上,供大表使用。executor存储小表的全部数据,一定程度上牺牲了空间,换取shuffle操作大量的耗时,这在SparkSQL中称作Broadcast JoinBroadcast Join的条件有以下几个:*被广播的表需要小于 spark.sql.autoBroadcastJoinThreshold 所配置的值,默认是...

2018-10-03 20:07:39 17501 2

原创 使用JedisPool连接Redis报错( Could not get a resource from the pool和 Connection refused)

在使用JedisPool连接Redis的时候出现以下异常:Exception in thread "main" redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool at redis.clients.util.Pool.getResource(Pool.ja...

2018-09-30 10:49:29 2888

原创 SparkSQL实现根据IP地址查询归属地且保存到Mysql中及优化

**需要:**各大网站每天都会产生大量的数据,数据中有用户访问网站的时间戳,IP地址,访问的域名,浏览器信息等等,现要求分析各个省份的上网人数(实际上就是在ip规则中查询用户IP的地址,再进行聚合)实现:1、 加载城市ip段信息,获取ip起始数字和结束数字,经度,维度2、 加载日志数据,获取ip信息,然后转换为数字,和ip段比较3、 比较的时候采用二分法查找,找到对应的经度和维度4、 然...

2018-09-29 11:12:28 1240

原创 Spark SQL简介及以编程方式实现SQL查询

SparkSQL官网1.什么是SparkSQL?Spark SQL是Spark用来处理结构化数据的一个模块,它提供了一个编程抽象叫做DataFrame并且作为分布式SQL查询引擎的作用。2.SparkSQL的特点:我们已经学习了Hive,它是将Hive SQL转换成MapReduce然后提交到集群上执行,大大简化了编写MapReduce的程序的复杂性,由于MapReduce这种计算模型执...

2018-09-29 08:57:00 2181

原创 Spark实现根据学科取得最受欢迎的老师的topn(小根堆和自定义排序实现)

第三步优化:假如数据量非常大的话,toList方法会产生内存溢出,使用treeSet方法可以解决treeset既可以实现排序,还能有效的控制输出的大小。package day02import java.net.URLimport org.apache.spark.rdd.RDDimport org.apache.spark.{Partitioner, SparkConf, Spark...

2018-09-28 10:35:18 573

原创 Spark实现根据学科取得最受欢迎的老师的topn(简单优化及自定义分区)

Spark实现TopN问题这是数据:http://bigdata.edu360.cn/laozhanghttp://bigdata.edu360.cn/laozhanghttp://bigdata.edu360.cn/laozhaohttp://bigdata.edu360.cn/laozhaohttp://bigdata.edu360.cn/laozhaohttp://bigdat...

2018-09-28 10:33:15 1160 3

原创 Spark任务执行流程

这是Spark官方给的图,大致意思就是:四个步骤1.构建DAG(有向无环图)(调用RDD上的方法)2.DAGScheduler将DAG切分Stage(切分的依据是Shuffle),将Stage中生成的Task以TaskSet的形式给TaskScheduler3.TaskScheduler调度Task(根据资源情况将Task调度到相应的Executor中)4.Executor接收Task...

2018-09-27 11:34:34 7713

原创 Spark实现根据IP地址求归属地以及将结果保存到MySql数据库中(Spark广播变量的使用)

需要:各大网站每天都会产生大量的数据,数据中有用户访问网站的时间戳,IP地址,访问的域名,浏览器信息等等,现要求分析各个省份的上网人数(实际上就是在ip规则中查询用户IP的地址,再进行聚合)实现:1、 加载城市ip段信息,获取ip起始数字和结束数字,经度,维度2、 加载日志数据,获取ip信息,然后转换为数字,和ip段比较3、 比较的时候采用二分法查找,找到对应的经度和维度4、 然后对经度...

2018-09-25 12:49:57 1103

原创 Spark RDD的缓存机制、CheckPoint机制(容错机制)和RDD的依赖关系

RDD的缓存机制RDD通过cache方法或者persist方法可以将前面的计算结果缓存,但并不是立即缓存,而是在接下来调用Action类的算子的时候,该RDD将会被缓存在计算节点的内存中,并供后面使用。注意:缓存结束后,不会产生新的RDD缓存有可能丢失,或者存储存储于内存的数据由于内存不足而被删除,RDD的缓存容错机制保证了即使缓存丢失也能保证计算的正确执行。通过基于RDD的一系列转换,丢失...

2018-09-20 17:23:33 1885

原创 Spark中mapPartitions和mapPartitonsWithIndex的区别

RDD Programming Guide简单翻译下 : 返回通过函数func传递源的每个元素形成的新分布式数据集。mapPartiitons:和map类似,但是运行在每一个分区或者block上,所以当在类型T的RDD上运行时,函数必须是一个迭代器mapPartitionsWithIndex:和mapPartiitons类似,但也为func提供了表示分区索引的整数值,因此当在类型T的RD...

2018-09-20 09:56:26 366

原创 Spark中groupByKey和reduceByKey的区别

重点比较reduceByKey和groupByKey:相同点:1,都作用于 RDD[K,V]2,都是根据key来分组聚合3, 默认,分区的数量都是不变的,但是都可以通过参数来指定分区数量不同点:1, groupByKey默认没有聚合函数,得到的返回值类型是RDD[ k,Iterable[V]]2, reduceByKey 必须传聚合函数 得到的返回值类型 RDD[(K,聚合...

2018-09-18 17:13:08 6974 2

原创 Spark的体系结构与安装部署以及Spark HA的实现、Spark Shell的操作

1.Spark的体系结构官方的一张图: 这里的描述很笼统,只说除了互相的调用关系。这是自己找的一张图: 注意:sc对象是spark自己创建的,每次启动spark的时候都会初始化。不需要继续创建,是程序的入口。2.Spark的安装和部署2.1 安装 Spark的官网:http://spark.apache.org/downloads.html 注意:下载的时候,...

2018-09-17 18:48:32 154

原创 Scala中的隐式转换函数、隐式参数和隐式类

所谓隐式转换函数指的是implicit关键字修饰的且只有一个参数的函数。 例如:inplicit def int2String(n:Int):String = (n.toString)上案例:我们把Fruit对象转换成了Monkey对象//Scala的隐式转换//水果class Fruit(name:String){ def getFruitName():String ...

2018-09-17 18:06:41 968 1

原创 Scala中的闭包函数

闭包是一个函数,返回值依赖于声明在函数外部的一个或多个变量。闭包通常来讲可以简单的认为是可以访问一个函数里面局部变量的另外一个函数。scala> def m1(x:Int) = x+y<console>:11: error: not found: value y //这里没有定义y的值 def m1(x:Int) = x+y ...

2018-09-11 14:31:07 258

原创 Scala中for循环的yield用法

**概念** for循环中的yield会将for循环中的值保存下来,保存到一个集合中,在循环结束的时候会将集合全部输出,如果被循环的是map,则输出的就是map。如果被循环的是list,则输出的就是list,以此类推。使用println进行输出scala> for (i <- 1 to 5) | println (i)12345使用y...

2018-09-10 14:20:58 3048

原创 java实现scala函数式编程的功能

这里做一个简单的案例,将字符串转指定大小写。比如将Hbase转换成HBASE或者hbase。 实现流程:将字符串添加到字符数组中,利用装饰模式,加强list,调用接口的转换方法,最终的转换规则由自己指定。硬编码较少。主方法代码:package day02;/** * java 的scala函数式编程 */import java.util.ArrayList;import ja...

2018-09-08 16:55:47 185

原创 基于ZooKeeper实现的分布式服务器上下线动态感知系统

原理大致如下图: 系统中会有多个消费者,会有多个服务器,zookeeper动态的管理服务器的数量。 客户端代码如下:package sense;import java.util.ArrayList;import java.util.List;import java.util.Random;import org.apache.zookeeper.WatchedEvent;...

2018-09-03 20:56:27 441

原创 ZooKeeper 安装流程 Shell端 Java API 及 Leader选举流程

1. Zookeeper简单介绍 Zookeeper是一种分布式服务框架,用来解决分布式应用中的数据管理问题,统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。它能提供基于类似于文件系统的目录节点树方式的数据存储, Zookeeper 作用主要是用来维护和监控存储的数据的状态变化,通过监控这些数据状态的变化,从而达到基于数据的集群管理 简单的说,zookeeper=文件系统...

2018-09-03 18:03:34 273

hdfs读取文件

hdfs读取文件详细流程,绝对真实!

2018-08-25

空空如也

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

TA关注的人

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