<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[SmallCatBaby的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/SmallCatBaby</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; SmallCatBaby]]></copyright><item><title><![CDATA[Flink中实用的小知识点整理]]></title><link>https://blog.youkuaiyun.com/SmallCatBaby/article/details/95682759</link><guid>https://blog.youkuaiyun.com/SmallCatBaby/article/details/95682759</guid><author>SmallCatBaby</author><pubDate>Fri, 12 Jul 2019 15:57:00 +0800</pubDate><description><![CDATA[目录
1、Flink使用WaterMark处理乱序事件
2、累加器和计数器
3、Window使用
4、流的切分和合并
5、任务链
6、Flink消费kafka数据起始offset配置
7、Flink消费kafka数据，消费者offset提交配置
8、数据源
9、数据存放
10、运行时环境的区别
11、keyedStream中进行聚合操作
一.Flink使用...]]></description><category></category></item><item><title><![CDATA[Flink中指定Key的几种方式]]></title><link>https://blog.youkuaiyun.com/SmallCatBaby/article/details/95682756</link><guid>https://blog.youkuaiyun.com/SmallCatBaby/article/details/95682756</guid><author>SmallCatBaby</author><pubDate>Fri, 12 Jul 2019 15:34:00 +0800</pubDate><description><![CDATA[前言
在Flink中比如某些算子（join,coGroup,keyBy,groupBy）要求在数据元上定义key。另外有些算子操作，例如reduce，groupReduce，Aggregate，Windows需要数据在处理之前根据key进行分组。
在Flink中数据模型不是基于Key,Value格式处理的，因此不需将数据处理成键值对的格式，key是“虚拟的...]]></description><category></category></item><item><title><![CDATA[决策树与随机森林及其在SparkMllib中的使用]]></title><link>https://blog.youkuaiyun.com/SmallCatBaby/article/details/95543188</link><guid>https://blog.youkuaiyun.com/SmallCatBaby/article/details/95543188</guid><author>SmallCatBaby</author><pubDate>Wed, 10 Jul 2019 21:44:00 +0800</pubDate><description><![CDATA[一.概念
决策树和随机森林：决策树和随机森林都是非线性有监督的分类模型。
决策树是一种树形结构，树内部每个节点表示一个属性上的测试，每个分支代表一个测试输出，每个叶子节点代表一个分类类别。通过训练数据构建决策树，可以对未知数据进行分类。

根节点：最顶层的分类条件
叶节点：代表每一个类别号
中间节点：中间分类条件
分支：代表每一个条件的输出

随机森林是由...]]></description><category></category></item><item><title><![CDATA[Spark任务输出追踪器MapOutputTracker详解]]></title><link>https://blog.youkuaiyun.com/SmallCatBaby/article/details/94415414</link><guid>https://blog.youkuaiyun.com/SmallCatBaby/article/details/94415414</guid><author>SmallCatBaby</author><pubDate>Mon, 01 Jul 2019 19:34:00 +0800</pubDate><description><![CDATA[一.什么是shuffle
MapOutputTrancker用于跟踪map任务的输出状态，此状态便于reduce任务定位到map输出结果所在的节点地址，进而获取中间输出结果，每个map任务或者reduce任务，都会有其唯一的标识，分别为mapid和reduceid，每个reduce任务的输入可能是多个map任务的输出，因为reduce可能会到多个map任务...]]></description><category></category></item><item><title><![CDATA[原理解析 | 深入了解 Apache Flink 的网络协议栈]]></title><link>https://blog.youkuaiyun.com/SmallCatBaby/article/details/93930398</link><guid>https://blog.youkuaiyun.com/SmallCatBaby/article/details/93930398</guid><author>SmallCatBaby</author><pubDate>Wed, 26 Jun 2019 13:45:00 +0800</pubDate><description><![CDATA[作者：Nico Kruber
翻译：曹英杰
Flink 的网络协议栈是组成 flink-runtime 模块的核心组件之一，是每个 Flink 作业的核心。它连接所有 TaskManager 的各个子任务(Subtask)，因此，对于 Flink 作业的性能包括吞吐与延迟都至关重要。与 TaskManager 和 JobManager 之间通过基于 Akk...]]></description><category></category></item><item><title><![CDATA[SQL优化：用case...when优化统计查询]]></title><link>https://blog.youkuaiyun.com/SmallCatBaby/article/details/93930402</link><guid>https://blog.youkuaiyun.com/SmallCatBaby/article/details/93930402</guid><author>SmallCatBaby</author><pubDate>Tue, 25 Jun 2019 17:33:00 +0800</pubDate><description><![CDATA[最近在做的项目，有很多统计数据的地方，由于数据量相对较多，之前写的查询语句查询五十万条数据大概需要十秒左右的样子，严重影响了效率。后来在网上寻找解决方案，利用sum,case...when...重写SQL性能一下子提高到一秒钟就解决了。
这里为了简洁明了的阐述问题和解决的方法，我简化一下需求模型。
现在数据库有一张订单表（经过简化的中间表），表结构如下：
...]]></description><category></category></item><item><title><![CDATA[面试问烂的 MySQL 查询优化，看完吊打面试官！]]></title><link>https://blog.youkuaiyun.com/SmallCatBaby/article/details/93930399</link><guid>https://blog.youkuaiyun.com/SmallCatBaby/article/details/93930399</guid><author>SmallCatBaby</author><pubDate>Tue, 25 Jun 2019 15:16:00 +0800</pubDate><description><![CDATA[什么影响了数据库查询速度1.1 影响数据库查询速度的四个因素





1.2 风险分析QPS：QueriesPerSecond意思是“每秒查询率”，是一台服务器每秒能够相应的查询次数，是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。TPS：是TransactionsPerSecond的缩写，也就是事务数/秒。它是软件测试结果的测量单位。客户...]]></description><category></category></item><item><title><![CDATA[使用NGINX作为HTTPS正向代理服务器]]></title><link>https://blog.youkuaiyun.com/SmallCatBaby/article/details/93545615</link><guid>https://blog.youkuaiyun.com/SmallCatBaby/article/details/93545615</guid><author>SmallCatBaby</author><pubDate>Mon, 24 Jun 2019 10:32:00 +0800</pubDate><description><![CDATA[NGINX主要设计作为反向代理服务器，但随着NGINX的发展，它同样能作为正向代理的选项之一。正向代理本身并不复杂，而如何代理加密的HTTPS流量是正向代理需要解决的主要问题。本文将介绍利用NGINX来正向代理HTTPS流量两种方案，及其使用场景和主要问题。
HTTP/HTTPS正向代理的分类
简单介绍下正向代理的分类作为理解下文的背景知识：
按客户端有无...]]></description><category></category></item><item><title><![CDATA[Spark消息通信原理]]></title><link>https://blog.youkuaiyun.com/SmallCatBaby/article/details/93545603</link><guid>https://blog.youkuaiyun.com/SmallCatBaby/article/details/93545603</guid><author>SmallCatBaby</author><pubDate>Mon, 24 Jun 2019 08:40:00 +0800</pubDate><description><![CDATA[一.NettyRpcEnv主要组件
子组件TransportConf，Dispatcher，TransportClientFactory，TransportServer

TransportConf   为RPC框架的中的配置类
Dispatcher   可以有效提高NettyRpcEnv消息异步处理能力和并行处理能力，负责将RPC消息路由到应该对此消息处...]]></description><category></category></item><item><title><![CDATA[Spark中RangePartitioner的实现机制分析]]></title><link>https://blog.youkuaiyun.com/SmallCatBaby/article/details/93424459</link><guid>https://blog.youkuaiyun.com/SmallCatBaby/article/details/93424459</guid><author>SmallCatBaby</author><pubDate>Sun, 23 Jun 2019 08:13:00 +0800</pubDate><description><![CDATA[一.分区器的区别

HashPartitioner分区可能HashPartitioner导致每个分区中数据量的不均匀。
RangePartitioner分区尽量保证每个分区中数据量的均匀，将一定范围内的数映射到某一个分区内。分区与分区之间数据是有序的，但分区内的元素是不能保证顺序的。

二.RangePartitioner分区执行原理概述
1.计算总体的数...]]></description><category></category></item><item><title><![CDATA[Apache Kylin 从零开始构建Cube(含优化策略)]]></title><link>https://blog.youkuaiyun.com/SmallCatBaby/article/details/93377169</link><guid>https://blog.youkuaiyun.com/SmallCatBaby/article/details/93377169</guid><author>SmallCatBaby</author><pubDate>Sat, 22 Jun 2019 13:14:00 +0800</pubDate><description><![CDATA[前言
Apache Kylin采用“预计算”的模式，用户只需要提前定义好查询维度，Kylin将帮助我们进行计算，并将结果存储到HBase中，为海量数据的查询和分析提供亚秒级返回，是一种典型的“空间换时间”的解决方案。





Kylin架构


Hadoop/Hive：Kylin是一个MOLAP系统，将hive中的数据进行预计算，利用MR或者SPARK来...]]></description><category></category></item><item><title><![CDATA[Spring Boot2 集成 Elasticsearch、PostgreSQL 遇到的问题]]></title><link>https://blog.youkuaiyun.com/SmallCatBaby/article/details/93545591</link><guid>https://blog.youkuaiyun.com/SmallCatBaby/article/details/93545591</guid><author>SmallCatBaby</author><pubDate>Sat, 22 Jun 2019 07:04:00 +0800</pubDate><description><![CDATA[项目背景
  在描述和还原事故之前，简单说明下相关环境：

spring boot v2.0.4.RELEASE
spring-boot-starter-data-elasticsearch (以前做项目的时候，Spring Data ES跟ES服务存在版本匹配关系，但目前在spring boot v2.0.4.RELEASE中使用未发现有版本不兼容情况)...]]></description><category></category></item><item><title><![CDATA[揭秘|每秒千万级的实时数据处理是怎么实现的？]]></title><link>https://blog.youkuaiyun.com/SmallCatBaby/article/details/93545606</link><guid>https://blog.youkuaiyun.com/SmallCatBaby/article/details/93545606</guid><author>SmallCatBaby</author><pubDate>Fri, 21 Jun 2019 12:22:00 +0800</pubDate><description><![CDATA[1、设计背景
闲鱼目前实际生产部署环境越来越复杂，横向依赖各种服务盘宗错节，纵向依赖的运行环境也越来越复杂。当服务出现问题的时候，能否及时在海量的数据中定位到问题根因，成为考验闲鱼服务能力的一个严峻挑战。
线上出现问题时常常需要十多分钟，甚至更长时间才能找到问题原因，因此一个能够快速进行自动诊断的系统需求就应用而生，而快速诊断的基础是一个高性能的实时数据处...]]></description><category></category></item><item><title><![CDATA[Spark的数据本地化和延迟调度策略]]></title><link>https://blog.youkuaiyun.com/SmallCatBaby/article/details/92995030</link><guid>https://blog.youkuaiyun.com/SmallCatBaby/article/details/92995030</guid><author>SmallCatBaby</author><pubDate>Wed, 19 Jun 2019 08:06:00 +0800</pubDate><description><![CDATA[一.概述
Spark数据本地化即计算向数据移动，但数据块所在的Executor不一定有足够的的计算资源提供，为了让task能尽可能的以最优本地化级别（Locality Levels）来启动，Spark的延迟调度应运而生，资源不够可在该Locality Levels对应的限制时间内重试，超过限制时间后还无法启动则降低Locality Levels再尝试启动。...]]></description><category></category></item><item><title><![CDATA[Hive中语法规则大全，建议收藏]]></title><link>https://blog.youkuaiyun.com/SmallCatBaby/article/details/101475598</link><guid>https://blog.youkuaiyun.com/SmallCatBaby/article/details/101475598</guid><author>SmallCatBaby</author><pubDate>Tue, 18 Jun 2019 18:58:48 +0800</pubDate><description><![CDATA[Hive

一、创建/删除/修改/使用数据库
# 创建数据库
CREATE (DATABASE|SCHEMA) [IF NOT EXISTS] database_name
  [COMMENT database_comment]
  [LOCATION hdfs_path]
  [WITH DBPROPERTIES (property_name=property_valu...]]></description><category></category></item><item><title><![CDATA[Spark中BlockManager的存储原理]]></title><link>https://blog.youkuaiyun.com/SmallCatBaby/article/details/92995052</link><guid>https://blog.youkuaiyun.com/SmallCatBaby/article/details/92995052</guid><author>SmallCatBaby</author><pubDate>Tue, 18 Jun 2019 07:50:00 +0800</pubDate><description><![CDATA[一.整体架构
Spark的存储介质包括磁盘和内存。
Spark的存储采用了主从模型，存储模块使用了基于Netty的RPC消息通信方式。BlockManagerMaster负责整个应用程序运行期间的数据块的元数据管理和维护。BlockManager（Slave）负责将本地数据块的状态信息上报给BlockManagerMaster，同时接受从BlockMana...]]></description><category></category></item><item><title><![CDATA[Spark内置图像数据源初探]]></title><link>https://blog.youkuaiyun.com/SmallCatBaby/article/details/93545616</link><guid>https://blog.youkuaiyun.com/SmallCatBaby/article/details/93545616</guid><author>SmallCatBaby</author><pubDate>Mon, 17 Jun 2019 13:44:00 +0800</pubDate><description><![CDATA[概述
在Apache Spark 2.4中引入了一个新的内置数据源, 图像数据源.用户可以通过DataFrame API加载指定目录的中图像文件,生成一个DataFrame对象.通过该DataFrame对象,用户可以对图像数据进行简单的处理,然后使用MLlib进行特定的训练和分类计算.
本文将介绍图像数据源的实现细节和使用方法.
简单使用
先通过一个例子来...]]></description><category></category></item><item><title><![CDATA[Blink 有何特别之处？菜鸟供应链场景最佳实践]]></title><link>https://blog.youkuaiyun.com/SmallCatBaby/article/details/93545609</link><guid>https://blog.youkuaiyun.com/SmallCatBaby/article/details/93545609</guid><author>SmallCatBaby</author><pubDate>Mon, 17 Jun 2019 12:12:00 +0800</pubDate><description><![CDATA[作者：晨笙、缘桥
菜鸟供应链业务链路长、节点多、实体多，使得技术团队在建设供应链实时数仓的过程中，面临着诸多挑战，如：如何实现实时变Key统计？如何实现实时超时统计？如何进行有效地资源优化？如何提升多实时流关联效率？如何提升实时作业的开发效率？ 而 Blink 能否解决这些问题？下面一起来深入了解。

背景
菜鸟从2017年4月开始探索 Blink（即 ...]]></description><category></category></item><item><title><![CDATA[Spark中几种ShuffleWriter的区别你都知道吗？]]></title><link>https://blog.youkuaiyun.com/SmallCatBaby/article/details/101475600</link><guid>https://blog.youkuaiyun.com/SmallCatBaby/article/details/101475600</guid><author>SmallCatBaby</author><pubDate>Mon, 17 Jun 2019 08:50:17 +0800</pubDate><description><![CDATA[一.前言
在Spark中有三种shuffle写，分别是BypassMergeSortShuffleWriter、UnsafeShuffleWriter、SortShuffleWriter。分别对应三种不同的shuffleHandle。
这三者和ShuffleHandle的对应关系如下：

UnsafeShuffleWriter:SerializedShuffleHandle
Byp...]]></description><category></category></item><item><title><![CDATA[Spark源码分析之作业和任务调度流程]]></title><link>https://blog.youkuaiyun.com/SmallCatBaby/article/details/92995044</link><guid>https://blog.youkuaiyun.com/SmallCatBaby/article/details/92995044</guid><author>SmallCatBaby</author><pubDate>Sun, 16 Jun 2019 14:06:00 +0800</pubDate><description><![CDATA[一.前言
Spark的作业和任务调度系统是其核心。Spark的作业调度主要是基于RDD的一系列操作构成一个作业，然后在Executor上执行，这些操作算子主要分为转换和行动算子，对于转换算子的计算是lazy级别的，也就是延迟执行，只有出现了行动算子才触发作业的提交。在Spark调度中，最重要的是DAGScheduler和TaskSechduler两个调度器...]]></description><category></category></item></channel></rss>