数据处理
Resemble_
一只程序猿的奇思妙想
github: https://github.com/Resemble
展开
-
kafka各版本新特性介绍(0.8.2-1.0.0版本)--kafka1.0新特性介绍
目录consumer机制consumer机制kafka 0.8--kafka 0.9--kafka 0.10 -- kafka 1.0 各版本的新特性最重要的是,就是consumer的机制。consumer机制各版本的演化:kafka-0.8.2 新特性producer不再区分同步(sync)和异步方式(async),所有的请求以异步方式发送,这样提升了客户端效率。...转载 2019-11-25 22:37:35 · 1267 阅读 · 0 评论 -
BigData-‘基于代价优化’究竟是怎么一回事?
CBO基本原理提到CBO,就不得不提起一位’老熟人’ – 基于规则优化(Rule-Based Optimization,简称RBO)。RBO是一种经验式、启发式的优化思路,优化规则都已经预先定义好,只需要将SQL往这些规则上套就可以(对RBO还不了解的童鞋,可以参考笔者的另一篇文章 – 《从0到1认识Catalyst》)。说白了,RBO就像是一个经验丰富的老司机,基本套路全都知道。 然...转载 2019-02-24 12:22:37 · 320 阅读 · 0 评论 -
Druid架构
目录1.Druid总体架构1.1整体架构1.2三条线路2.实时节点2.1实时索引原理2.1.1Ingest阶段2.2.2Persist阶段2.2.3 Merge阶段2.2.4Handoff阶段3.历史节点4.协调节点5.Broker节点6.Indexer节点7.ZooKeeper参考文章1.Druid总体架构1.1整...转载 2019-03-03 12:03:32 · 774 阅读 · 0 评论 -
一举搞定 Elasticsearch 分词难题
目录1. 上手2. 分词3. 写时分词结果4. 读时分词结果5. 解释问题6. 解决需求7. 深入分析8. 自定义分词初次接触Elasticsearch的同学经常会遇到分词相关的难题,比如如下这些场景:为什么命名有包含搜索关键词的文档,但结果里面就没有相关文档呢? 我存进去的文档到底被分成哪些词(term)了? 我得自定义分词规则,但感觉好麻烦呢,无...转载 2019-03-13 17:59:31 · 767 阅读 · 0 评论 -
Elasticsearch:Scroll深度分页及返回大量数据
目录方法一设置size方法二fromand size分页方法三scrollandscan滚屏。在使用ES时,有时候不可避免的要返回大量的数据或者说返回满足你的查询条件的全部数据,而满足你的条件的数据可能只是上百条也可能是上万条。当需要返回的数据量特别大时怎么办呢?方法一设置size在使用aggregations情况下,聚合的结果和直接查询一样默认都会只...转载 2019-04-12 09:56:50 · 3274 阅读 · 0 评论 -
数据库锁表
数据库锁先看一张图自己整理的数据库锁的树形图概要数据库锁一般可以分为两类,一个是悲观锁,一个是乐观锁。乐观锁一般是指用户自己实现的一种锁机制,假设认为数据一般情况下不会造成冲突,所以在数据进行提交更新的时候,才会正式对数据的冲突与否进行检测,如果发现冲突了,则让返回用户错误的信息,让用户决定如何去做。乐观锁的实现方式一般包括使用版本号和时间戳。悲观锁一般就是我们通常说的数据库锁机制,以...转载 2019-05-04 21:28:50 · 537 阅读 · 0 评论 -
mysql数据精度丢失问题
不要盲目的说float和double精度可能发生丢失,而是说在存取时因为精度不一致会发生丢失,当然这里的丢失指的是扩展或者截断了,丢失了原有的精度。decimal是好,但不是说不会发生任何精度丢失。如果问题看得不深入,总会以偏概全。 我们知道,mysql存储小数可以使用float、double、decimal等。这些类型存储的小数精度都比较高。我们平时应用最多的就是两位小数点,所以,这些...转载 2019-05-08 17:30:47 · 5906 阅读 · 2 评论 -
Flink基于EventTime和WaterMark处理乱序事件和晚到的数据
在实际的业务中,我们经常会遇到数据迟到的情况,这个时候基于窗口进行计算的结果就不对了,Flink中watermark就是为了解决这个问题的,理解watermark之前,先来说一下flink中的三个与流数据相关的概念,ProcessTime、EventTime、IngestionTime,不然很难理解watermark是怎么回事.我们先来看一下官网给出的一张图,非常形象地展示了Process Ti...转载 2019-07-09 12:59:58 · 2245 阅读 · 0 评论 -
Flink乱序处理之allowedLateness使用
1、简介Flink中借助watermark以及window和trigger来处理基于event time的乱序问题,那么如何处理“late element”呢?也许有人会问,out-of-order element与late element有什么区别?不都是一回事么?答案是一回事,都是为了处理乱序问题而产生的概念。要说区别,可以总结如下:1、通过watermark机制来处理out-of-...转载 2019-07-09 13:10:29 · 1203 阅读 · 0 评论 -
Flink 原理与实现:数据流上的类型和操作
Flink 为流处理和批处理分别提供了 DataStream API 和 DataSet API。正是这种高层的抽象和 flunent API 极大地便利了用户编写大数据应用。不过很多初学者在看到官方 Streaming 文档中那一大坨的转换时,常常会蒙了圈,文档中那些只言片语也很难讲清它们之间的关系。所以本文将介绍几种关键的数据流类型,它们之间是如何通过转换关联起来的。下图展示了 Flink 中...转载 2019-09-18 20:12:25 · 238 阅读 · 0 评论 -
从sql关联数据异常看精度丢失问题
目录背景代码测试:测试结果:结果说明:原因分析:float与double的范围和精度解决方案:背景bigint和string做join的时候 会先都隐式转换成double在join,可能会由于精度丢失导致join的结果不符合预期,导致sql不符合预期代码测试: set hive.mapred.mode=nonstrict;select 90000...原创 2019-10-08 22:56:25 · 1028 阅读 · 0 评论 -
Storm之BaseRichbolt和BaseBasicbolt的区别
BaseRichBoltYou must – and are able to – manually ack() an incoming tuple.Can be used to delay acking a tuple,e.g. for algorithms that need to work across multiple incoming tuples.BaseBasicBoltAu...转载 2019-01-30 14:36:21 · 1187 阅读 · 0 评论 -
内存缓存、磁盘缓存、内存傻傻分不清
内存缓存高速缓存(英语:cache,英语发音:/kæʃ/ kash [1][2][3],简称缓存),其原始意义是指访问速度比一般随机存取存储器(RAM)快的一种RAM,通常它不像系统主存那样使用DRAM技术,而使用昂贵但较快速的SRAM技术。原理Cache一词来源于1967年的一篇电子工程期刊论文。其作者将法语词“cache”赋予“safekeeping storage”的涵义,用于电脑工程...转载 2019-01-26 22:33:25 · 3634 阅读 · 0 评论 -
由于LEFT JOIN错误使用导致的数据不一致问题
msyql语句执行顺序 代码的执行顺序: from... where...group by... having.... select ... order by... hive 语句执行顺序 大致顺序 from... where.... select...group by... having ... order by...LEFT JOIN有一个作用就是用于去除表A中表B的数据,现在我...原创 2018-04-04 12:21:05 · 5970 阅读 · 2 评论 -
Kylin日期函数测试
目录1、需求2、函数调研2.1 Date/time functions2.2 Type conversion3、测试3.1 测试代码3.2 测试结果参考文章1、需求要在Kylin的sql中使用像date_sub类似的功能,date_sub的意义就是2018-08-08的前8天为2018-07-31。2、函数调研2.1 Date/time functi...原创 2018-08-08 15:02:50 · 9149 阅读 · 1 评论 -
storm的ack机制
我们知道,Storm保证发出的每条消息都能够得到完全处理,也就是说,对于从Spout发出的每个tuple,该tuple和其产生的所有tuple(整棵tuple树)都被成功处理。如果在应用设定的超时时间之内,这个tuple没有处理成功,则认为这个tuple处理失败了。tuple处理成功还是失败,Storm又是怎么知道的呢? 原来Storm中有一类叫Acker的task,它会对tuple树进行...转载 2018-09-02 15:37:16 · 3223 阅读 · 0 评论 -
时序数据库技术体系 – Druid 多维查询之Bitmap索引
转载自http://hbasefly.com/2018/06/19/timeseries-database-8/时序数据库从抽象语义上来说总体可以概括为两个方面的基本需求,一个方面是存储层面的基本需求:包括LSM写入模型保证写入性能、数据分级存储(最近2小时的数据存储在内存中,最近一天的数据存储在SSD中,一天以后的数据存储在HDD中)保证查询性能以及存储成本、数据按时间分区保证时间线查询...转载 2018-11-06 14:39:55 · 571 阅读 · 0 评论 -
数据结构和算法的选择
本部分总结前面介绍的数据结构和算法,并讨论在不同的情况下如何进行选择。通用数据结构:数组、链表、树、哈希表专用数据结构:栈、队列、优先级队列排序:插入排序、希尔排序、快速排序、归并排序、堆排序图:邻接矩阵、邻接表外部存储:顺序存储、索引文件、B-树、哈希方法1 通用数据结构 ...转载 2018-12-15 22:15:54 · 375 阅读 · 0 评论 -
ElasticSearch: Index 和 Type 的区别
对于 ES 的新用户来说,有一个常见的问题:要存储一批新的数据时,应该在已有 index 里新建一个 type,还是给它新建一个 index?要想回答这个问题,我们必须先理解这两者是怎么实现的。过去,我们为了让 ES 更容易理解,经常用关系型数据库做一个比喻: index 就像关系型数据库里的 database, type 就像 database 里的 table。但是这并不正确。由于两种数据...转载 2018-03-28 12:16:04 · 22281 阅读 · 0 评论 -
storm之tuple详解
Storm中的数据结构类型为Tuple官方解释:“A tuple is a named of values where each value can be any type.”tuple是一个类似于列表的东西,存储的每个元素叫做field(字段),可以是任何类型。Storm使用tuple作为它的数据模型, 每个tuple是一堆值,每个值都有一个名字,一个Tuple代表数据流中的...转载 2019-01-25 20:11:31 · 2291 阅读 · 1 评论 -
Flink DataStream API 编程指南
原文链接:https://ci.apache.org/projects/flink/flink-docs-release-1.3/dev/datastream_api.htmlFlink中的DataStream程序是在数据流中实现transformation操作(如:过滤、修改状态、定义窗口、聚合等)的常规程序。数据流通过各种source(如: 消息队列、socket流、文件等)来创建,结...转载 2019-01-21 16:46:12 · 1016 阅读 · 0 评论 -
mysql查询最后几条、生成一条包含多条记录、插入语句、差值查询
1、查询第一行记录: select * from table limit 1 2、查询第n行到第m行记录 select * from table1 limit n-1,m-n; SELECT * FROM table LIMIT 5,10;返回第6行到第15行的记录 select * from employee limit 3,1; // 返回第4行 3、查询前n行记录原创 2016-12-04 22:16:30 · 1975 阅读 · 0 评论