「旅の途中」


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • 搜索

浅谈流计算中的延时处理

置顶 | 发表于 2020-09-15 | 分类于 Flink

1、前言

最近刚开始用Flink做流计算,踩了个坑,根据以往做实时流计算的经验,捋了一下Flink与Storm、Spark Streaming 的区别之后最终成功定位到问题并解决了。先不说坑在哪里,先说bug的表现:

  1. 数据处理出结果的时间与数据自带的EventTime相差了十几秒;
  2. 数据进入时候的延时为0~1秒;
  3. 数据处理时间据log打印为50~200毫秒;
  4. 数据入库花费时间约为300~700毫秒;
  5. 设置了窗口间隔为1秒;
  6. 设置了水印为流过数据的EventTime中最大的时间,允许乱序时间为1秒;

是不是很奇怪?明明数据延时加上数据处理和入库的时间,也不过2~3秒,为什么最终结果数据却和数据本身的EventTime相差10多秒?

阅读全文 »

一次es内存使用异常引发的思考

发表于 2020-06-01 | 分类于 es

1、起因

某天java组的同事跟我说,es查询报错了,报了个Data too large异常,网上找了一下,好像这个内存不足是es默认设置引起的,具体的再分析看看。

阅读全文 »

ArchLinux安装实况

发表于 2020-05-26 | 分类于 Linux

最终效果

本来以前一直是用ubuntu作为日常使用系统的,没想到买了联想yoga 14s之后,这个4800U新到ubuntu内核都没驱动,然后archlinux也要换成zen内核才有,于是只能用archlinux试试了。

结果一试发现好爽。。回不去了。。kde的华丽效果,居然还没有一丝卡顿,开机内存也仅仅只是一个G,就这么用着试试先吧= =

阅读全文 »

双显卡1050TI笔记本的Ubuntu18安装实记

发表于 2019-06-29 | 分类于 Linux

1、前言

其实在这次安装前,我已经用了一个多星期的ubuntu-18.04.2了,在经历了数次重装和各种安装的坑之后,总算是对ubuntu有了一些理解。然后早上不知道做了个什么操作又把驱动给弄坏了,正好因为之前的安装也是一路磕磕碰碰搞错了不少东西,索性就直接再重装一次好了。吸取了之前各种驱动和软件安装的经验,想着这次应该能完美装好,所以有了这篇安装实记。一来是给自己留个记录方便以后查看(说不定又会重装= =),二来是有感于C某N上的文章抄来抄去把很多错误的、过时的办法给抄进去,让我这种小白看完跟着做一直踩坑,所以干脆把自己这次安装记录下来,我想应该也能帮助到一些同学吧。

阅读全文 »

Spark-MLlib学习日记8:K-Means的扩展学习

发表于 2019-03-19 | 分类于 Spark-MLlib学习日记

前言

关于聚类的经典算法K-Means 算法在第一期就已经讲过了,需要回顾的同学点这里,现在顺着spark的api继续看下去,又看到聚类这一块,就着重讲一下基于流数据的K-Menas算法使用,因为最近比较忙的,所以感觉又一些东西都还没很完整的看完,比如回归的算法,还有聚类的一些统计学方法,这些都会在今后慢慢补上,给自己一个小目标,今年6月底把spark的api全部都过一遍,然后开始又针对地去做人脸识别相关的学习,还有神经网络和深度学习,在此之前希望我能打下较好的基础。

有点扯远了,看回今天的主题,Streaming k-means——基于流的k-means算法,其实就是在原有的k-means算法里面引入流的概念,并放在分布式的集群上去做,下面我们就来简单了解一下。

阅读全文 »

Spark-MLlib学习日记7:初探梯度提升决策树

发表于 2019-03-14 | 分类于 Spark-MLlib学习日记

前言

嗯。。怎么说呢,本来见识到随机森林的强大之后,觉得分类算法里面,另一个集成算法——梯度提升决策树(GBDT)看不看都那样了,看各类书和spark官网对他的介绍也是一笔带过,所以抱着轻视的态度,顺手训练了下模型,结果识别率居然高达99.763593%!!!用的还是官方给的默认参数。。。而且训练速度贼快。我随机森林要跑15分钟,这个几分钟就好了。所以决定单独写一篇日记,来深入地去学习一下这个算法。

比较可惜地是,该算法目前还不支持多分类,不过找了下资料貌似挺多大神在一点点改进这个算法了,比如陈天奇的xgboost。总而言之,不能以一份数据来衡量机器学习算法的好坏,应该根据数据特点,选择最适合这个数据的算法,这也是我这个系列学习希望达成的目标之一。

阅读全文 »

Spark-MLlib学习日记6:使用随机森林算法识别手写数字

发表于 2019-03-11 | 分类于 Spark-MLlib学习日记

前言

上一篇文章中我们讲到了一种常用的分类算法——决策树,今天我们要用到的随机森林算法,正是基于决策树的变种算法。随机森林算法(Random Forest) 和 *梯度提升决策树(*GradientBoosted Trees) 都是一种 集成学习(Ensemble Learning) 算法,核心的思想就是 “三个臭皮匠顶得过一个诸葛亮” 哈哈哈,就是假如一棵决策树他的分类预测可能是错的话,那么多颗树组成的森林,各自预测后通过投票得到一致的分类预测,那应该就不会错了吧,毕竟一棵错不可能棵棵都是错的嘛,这背后其实体现了一种群体的智慧。

讲到的知识点稍多,所以篇幅有点长,将就下。。。

阅读全文 »

Spark-MLlib学习日记5:决策树与信息熵

发表于 2019-03-06 | 分类于 Spark-MLlib学习日记

前言

前面提到了朴素贝叶斯,一种通过对比概率来进行分类的分类算法,今天我们来讲讲另外一种基于信息熵的分类算法——决策树。有点意思的是,朴素贝叶斯的基础理论是概率论,帮助我们作出分类判断的是哪个分类(或选项)的概率最高,而决策树恰恰相反,是基于信息熵的。概率是某件事情(宏观态)某个可能情况(微观态)的确定性,而熵是某件事情(宏观态)到底是哪个情况(微观态)的不确定性。两者正好相反,决策树通过不断消减分类(或选项)的不确定性,从而给出正确的分类。

阅读全文 »

Spark-MLlib学习日记4:将自己手写的图片处理成MNIST格式

发表于 2019-02-28 | 分类于 Spark-MLlib学习日记

前言

今天要讲的呢,是自己制作手写图片,并处理成MNIST的标准格式,输入到我们训练好的模型来做识别,看看效果怎样,一直用别人提供的东西,调调api什么的总感觉参与感少了点哈哈。

本来这一部分我是打算给加到MNIST数据集介绍和朴素贝叶斯那两期后面作为扩展阅读的,因为觉得应该是蛮简单的一件事,没想到实际做下来又花了我2天的时间。遇到了不少难点和细节处理,所以最后决定独立一篇文章算了。

今天这篇呢,会涉及到图像处理的一些相关概念,比如RGB转灰度,还有图像在计算机里面的存储方式;也会涉及到一些计算机二进制的处理,蛮多知识盲点的,网上资料也不齐全,所以接下来会整理一下,结合自己的理解把这个学习过程记录下来。特别注意的是,网上相关代码基本都是python的,都是调用封装好的工具类,我这会用scala来全部手动实现一遍,希望下次跟我一样的小菜鸟遇到这些问题的时候不会像我那样束手无策了哈哈哈哈哈哈哈哈

阅读全文 »

Spark-MLlib学习日记3:使用朴素贝叶斯识别手写数字图片

发表于 2019-02-24 | 分类于 Spark-MLlib学习日记

前言

上一篇讲完了MNIST手写数字数据集的读取使用,今天呢就来讲讲使用分类算法——朴素贝叶斯算法(Naive Bayesian classification)来对这个数据集进行训练,看看使用这个算法训练出来的模型,对手写数字的识别率有多高。本人也是初学者,所以对于算法的讲述只是基于自身粗浅的理解,如有不同意见欢迎指正。话不多说,我们来进入正题。

阅读全文 »
12<i class="fa fa-angle-right"></i>
VoidChen10

VoidChen10

14 日志
6 分类
14 标签
© 2020 VoidChen10
访客数 总访问量
0%