叫我不矜持
码龄6年
关注
提问 私信
  • 博客:152,105
    152,105
    总访问量
  • 169
    原创
  • 1,465,336
    排名
  • 28
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2018-10-27
博客简介:

SmallCatBaby的博客

查看详细资料
个人成就
  • 获得36次点赞
  • 内容获得9次评论
  • 获得303次收藏
  • 代码片获得149次分享
创作历程
  • 165篇
    2019年
  • 7篇
    2018年
成就勋章
创作活动更多

超级创作者激励计划

万元现金补贴,高额收益分成,专属VIP内容创作者流量扶持,等你加入!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Storm的调度系统Scheduler概述

一.Scheduler概述Scheduler是Storm的调度器, 它负责为Topology分配当前集群中可用的资源。 Storm定义了IScheduler接口, 用户可以通过实现该接口来定义自己的Scheduler。 Storm提供了几种Scheduler,分别是EvenScheduler、 DefaultScheduler和IsolationScheduler,Pluggab...
原创
发布博客 2019.06.06 ·
1048 阅读 ·
0 点赞 ·
0 评论 ·
6 收藏

Hive中语法规则大全,建议收藏

Hive一、创建/删除/修改/使用数据库# 创建数据库CREATE (DATABASE|SCHEMA) [IF NOT EXISTS] database_name [COMMENT database_comment] [LOCATION hdfs_path] [WITH DBPROPERTIES (property_name=property_valu...
原创
发布博客 2019.06.18 ·
970 阅读 ·
0 点赞 ·
0 评论 ·
5 收藏

Spark中几种ShuffleWriter的区别你都知道吗?

一.前言在Spark中有三种shuffle写,分别是BypassMergeSortShuffleWriter、UnsafeShuffleWriter、SortShuffleWriter。分别对应三种不同的shuffleHandle。这三者和ShuffleHandle的对应关系如下:UnsafeShuffleWriter:SerializedShuffleHandleByp...
原创
发布博客 2019.06.17 ·
772 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

五大算法设计思想,你都知道吗?

前言转载自:五大算法设计思想作者:Kevin's life一.分治法1.概念:将一个难以直接解决的大问题,分割成一些规模较小的相同问题,以便各个击破,分而治之。2.思想策略:对于一个规模为n的问题,若该问题可以容易地解决(比如说规模n较小)则直接解决,否则将其分解为k个规模较小的子问题,这些子问题互相独立且与原问题形式相同,递归地解这些子问题,然后将各子问题的解合并得...
原创
发布博客 2019.06.12 ·
458 阅读 ·
1 点赞 ·
0 评论 ·
3 收藏

Flink基本API的使用

概述Flink使用 DataSet 和 DataStream 代表数据集。DateSet 用于批处理,代表数据是有限的,而 DataStream 用于流数据,代表数据是无界的。数据集中的数据是不可以变的,也就是说不能对其中的元素增加或删除。我们通过数据源创建 DataSet 或者 DataStream ,通过 map,filter 等转换(transform)操作对数据集进行操作...
原创
发布博客 2019.06.07 ·
268 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Spark源码分析之Master的启动流程

准备本文主要对Master的启动流程源码进行分析。Spark源码版本为2.3.1。阅读源码首先从启动脚本入手,看看首先加载的是哪个类,我们看一下start-master.sh启动脚本中的具体内容。脚本代码可以看到这里加载的类是org.apache.spark.deploy.master.Master,好那我们的源码寻觅之旅就从这开始...源码分析打开源码,我...
原创
发布博客 2019.06.13 ·
260 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Scala中的协变与逆变

协变与逆变的概念对于一个带类型参数的类型,比如 List[T],如果对A及其子类型B,满足 List[B]也符合 List[A]的子类型,那么就称为covariance(协变),如果 List[A]是 List[B]的子类型,即与原来的父子关系正相反,则称为contravariance(逆变)。协变: _____ _____________ | ...
原创
发布博客 2019.06.09 ·
328 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Storm事务核心CoordinatedBolt源码分析

一.CoordinatedBolt中的消息类型REGULAR: 正常的数据消息。ID: 从协调Spout节点收到的事务提交消息:COORD: 其他的CoordinatedBolt收到的协调消息CoordinatedBolt会根据输入消息的流号来对消息的类型进行判断。 Topology构建器会将 实现了ICommitter的 Bolt中的_idStreamSpec设为协调...
原创
发布博客 2019.06.06 ·
209 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Storm事务 Topology 的实现概述

事务Topology的实现概述1.事务类型的Spout节点实际上是一个子Topology, 它包含一个协调Spout节点( Coordinator ),以及一些消息发送Bolt节点( Emitter )。2.协调Spout节点的并行度为1, 消息发送Bolt节点的并行度则可根据需要来设定。3.协调Spout节点并不发送实际的数据, 而是将事务尝试发送到消息将Bolt节点中。 ...
原创
发布博客 2019.06.05 ·
227 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Storm关于如何保证事务顺序性的源码分析

关于如何保证事务顺序性的源码分析我们看一下事务协调TransactionalSpoutCoordinator类的主要代码实现...首先看看最重要的nextTuple方法@Override public void nextTuple() { sync(); }这里调用了sync()方法private void sync() { ...
原创
发布博客 2019.06.06 ·
289 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

JStorm和Strom的区别,没有对比就没有伤害

前言Storm的内核是clojure编写的,目前阿里巴巴公司已经有开源的Copy版本JStorm。简单的概述对比就是:JStorm 比Storm更稳定,更强大,更快,Storm上跑的程序,一行代码不变可以运行在JStorm上。直白的将JStorm是阿里巴巴的团队基于Storm 的二次开发产物,相当于他们的Tengine是基于Nginx开发的一样。以下为阿里巴巴团队放弃直接使...
原创
发布博客 2019.06.07 ·
773 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Flink中实用的小知识点整理

目录1、Flink使用WaterMark处理乱序事件2、累加器和计数器3、Window使用4、流的切分和合并5、任务链6、Flink消费kafka数据起始offset配置7、Flink消费kafka数据,消费者offset提交配置8、数据源9、数据存放10、运行时环境的区别11、keyedStream中进行聚合操作一.Flink使用...
原创
发布博客 2019.07.12 ·
1632 阅读 ·
0 点赞 ·
0 评论 ·
6 收藏

Flink中指定Key的几种方式

前言在Flink中比如某些算子(join,coGroup,keyBy,groupBy)要求在数据元上定义key。另外有些算子操作,例如reduce,groupReduce,Aggregate,Windows需要数据在处理之前根据key进行分组。在Flink中数据模型不是基于Key,Value格式处理的,因此不需将数据处理成键值对的格式,key是“虚拟的...
原创
发布博客 2019.07.12 ·
1857 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

决策树与随机森林及其在SparkMllib中的使用

一.概念决策树和随机森林:决策树和随机森林都是非线性有监督的分类模型。决策树是一种树形结构,树内部每个节点表示一个属性上的测试,每个分支代表一个测试输出,每个叶子节点代表一个分类类别。通过训练数据构建决策树,可以对未知数据进行分类。根节点:最顶层的分类条件叶节点:代表每一个类别号中间节点:中间分类条件分支:代表每一个条件的输出随机森林是由...
原创
发布博客 2019.07.10 ·
527 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Spark任务输出追踪器MapOutputTracker详解

一.什么是shuffleMapOutputTrancker用于跟踪map任务的输出状态,此状态便于reduce任务定位到map输出结果所在的节点地址,进而获取中间输出结果,每个map任务或者reduce任务,都会有其唯一的标识,分别为mapid和reduceid,每个reduce任务的输入可能是多个map任务的输出,因为reduce可能会到多个map任务...
原创
发布博客 2019.07.01 ·
1034 阅读 ·
1 点赞 ·
0 评论 ·
3 收藏

原理解析 | 深入了解 Apache Flink 的网络协议栈

作者:Nico Kruber翻译:曹英杰Flink 的网络协议栈是组成 flink-runtime 模块的核心组件之一,是每个 Flink 作业的核心。它连接所有 TaskManager 的各个子任务(Subtask),因此,对于 Flink 作业的性能包括吞吐与延迟都至关重要。与 TaskManager 和 JobManager 之间通过基于 Akk...
原创
发布博客 2019.06.26 ·
317 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

SQL优化:用case...when优化统计查询

最近在做的项目,有很多统计数据的地方,由于数据量相对较多,之前写的查询语句查询五十万条数据大概需要十秒左右的样子,严重影响了效率。后来在网上寻找解决方案,利用sum,case...when...重写SQL性能一下子提高到一秒钟就解决了。这里为了简洁明了的阐述问题和解决的方法,我简化一下需求模型。现在数据库有一张订单表(经过简化的中间表),表结构如下:...
原创
发布博客 2019.06.25 ·
2553 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

面试问烂的 MySQL 查询优化,看完吊打面试官!

什么影响了数据库查询速度1.1 影响数据库查询速度的四个因素1.2 风险分析QPS:QueriesPerSecond意思是“每秒查询率”,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。TPS:是TransactionsPerSecond的缩写,也就是事务数/秒。它是软件测试结果的测量单位。客户...
原创
发布博客 2019.06.25 ·
484 阅读 ·
1 点赞 ·
0 评论 ·
7 收藏

使用NGINX作为HTTPS正向代理服务器

NGINX主要设计作为反向代理服务器,但随着NGINX的发展,它同样能作为正向代理的选项之一。正向代理本身并不复杂,而如何代理加密的HTTPS流量是正向代理需要解决的主要问题。本文将介绍利用NGINX来正向代理HTTPS流量两种方案,及其使用场景和主要问题。HTTP/HTTPS正向代理的分类简单介绍下正向代理的分类作为理解下文的背景知识:按客户端有无...
原创
发布博客 2019.06.24 ·
4694 阅读 ·
2 点赞 ·
0 评论 ·
17 收藏

Spark消息通信原理

一.NettyRpcEnv主要组件子组件TransportConf,Dispatcher,TransportClientFactory,TransportServerTransportConf 为RPC框架的中的配置类Dispatcher 可以有效提高NettyRpcEnv消息异步处理能力和并行处理能力,负责将RPC消息路由到应该对此消息处...
原创
发布博客 2019.06.24 ·
559 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏
加载更多