皮皮鲁同学
码龄7年
关注
提问 私信
  • 博客:143,590
    143,590
    总访问量
  • 37
    原创
  • 1,827,376
    排名
  • 237
    粉丝
  • 1
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2018-07-02
博客简介:

皮皮鲁的AI星球

博客描述:
大数据和人工智能
查看详细资料
个人成就
  • 获得234次点赞
  • 内容获得31次评论
  • 获得906次收藏
  • 代码片获得1,222次分享
创作历程
  • 17篇
    2020年
  • 20篇
    2019年
成就勋章
TA的专栏
  • 人工智能
    4篇
  • 深度学习
    3篇
  • 书籍推荐
  • Flink原理与实践
    22篇
  • Java/Scala手册
    3篇
  • 大数据
    14篇
  • 流处理
    5篇
  • 机器学习
    2篇
  • Kafka
    1篇
  • Spark
    2篇
  • GPU
    4篇
  • 计算加速
    4篇
  • Python
    3篇
  • 计算机基础
    2篇
创作活动更多

超级创作者激励计划

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

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

二维卷积层入门:卷积运算、填充与步幅、输入输出通道

微信公号:ilulaoshi / 原文发表在我的个人网站:https://lulaoshi.info/machine-learning/convolutional/two-dimension-convolution-layer.html转载请引用我的个人网站链接,谢谢!卷积神经网络(Convolutional Neural Network,CNN)在图像领域应用非常广泛。区别于普通的全连接前馈神经网络,卷积神经网络是含有卷积层(Convolutional Layer)的神经网络。本文解释二维卷积层的.
原创
发布博客 2020.12.21 ·
19169 阅读 ·
34 点赞 ·
2 评论 ·
89 收藏

批量归一化(BatchNorm)加速深度网络训练

微信公号:ilulaoshi / 原文发表在我的个人网站:https://lulaoshi.info/machine-learning/convolutional/batch-normalization.html转载请引用我的个人网站链接,谢谢!深度神经网络很难训练。因为深度神经网络中网络层数太多,在训练过程中,模型参数的更新会引起靠近输出侧各层的输出结果发生剧烈的变化。Google 将这一现象总结为Internal Covariate Shift(ICS),具体而言,有如下表现:靠近输出侧的各.
原创
发布博客 2020.12.18 ·
1070 阅读 ·
1 点赞 ·
1 评论 ·
4 收藏

Flink如何解决端到端Exactly-Once的一致性

故障恢复与一致性保障某条数据投递到某个流处理系统后,该系统对这条数据只处理一次,提供Exactly-Once的保障是一种理想的情况。如果系统不出任何故障,那简直堪称完美。然而现实世界中,系统经常受到各类意外因素的影响而发生故障,比如流量激增、网络抖动、云服务资源分配出现问题等。如果发生了故障,Flink重启作业,读取Checkpoint中的数据,恢复状态,重新执行计算。Flink的State和...
原创
发布博客 2020.02.23 ·
1268 阅读 ·
5 点赞 ·
0 评论 ·
4 收藏

浅谈Flink分布式运行时和数据流图的并行化

本文将以WordCount的案例为主线,主要介绍Flink的设计和运行原理。关于Flink WordCount程序可以参考我之前的文章:读取Kafka实时数据流,实现Flink WordCount。阅读完本文后,读者可以对Flink的分布式运行时有一个全面的认识。1 Flink数据流图简介1.1 Flink作业的逻辑视图在大数据领域,词频统计(WordCount)程序就像是一个编...
原创
发布博客 2020.02.17 ·
1087 阅读 ·
1 点赞 ·
1 评论 ·
4 收藏

Flink入门:读取Kafka实时数据流,实现WordCount

本文主要介绍Flink接收一个Kafka文本数据流,进行WordCount词频统计,然后输出到标准输出上。通过本文你可以了解如何编写和运行Flink程序。代码拆解首先要设置Flink的执行环境:// 创建Flink执行环境StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(...
原创
发布博客 2020.02.15 ·
1265 阅读 ·
0 点赞 ·
1 评论 ·
6 收藏

Java函数式编程快速入门: Lambda表达式与Stream API

函数式编程(Functional Programming)是一种编程范式。它已经有近60年的历史,因其更适合做并行计算,近年来开始受到大数据开发者的广泛关注。Python、JavaScript等当红语言对函数式编程支持都不错,Scala更是以函数式编程的优势在大数据领域攻城略地,即使是老牌的Java为了适应函数式编程,也加大对函数式编程的支持。未来的程序员或多或少都要了解一些函数式编程思想。本文抛...
原创
发布博客 2020.02.14 ·
305 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java/Scala 泛型快速入门教程

泛型(Generics)是强类型编程语言中经常使用的一种技术。很多框架的代码中都会大量使用到泛型,比如在Java中我们经常看到的:List<String> strList = new ArrayList<String>();List<Double> doubleList = new LinkedList<Double>();在这段代码中,Ar...
原创
发布博客 2020.02.13 ·
306 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

聊聊Java/Scala的继承和多态

继承和多态是现代编程语言最为重要的概念。继承和多态允许用户将一些概念进行抽象,以达到代码复用的目的。本文用一些例子快速回顾一下Java/Scala的继承和多态。继承的数据建模继承在现实世界中无处不在。比如我们想描述动物以及他们的行为,可以先创建一个动物类别,动物类别又可以分为狗和鱼,这样的一种层次结构其实就是编程语言中的继承关系。动物类涵盖了每种动物都有的属性,比如名字、描述信息等。从动物类...
原创
发布博客 2020.02.13 ·
465 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Flink Broadcast State实战案例:电商平台用户行为模式分析

Broadcast State是Flink 1.5引入的功能,本文将跟大家分享Broadcast State的潜在使用场景,并使用电商用户行为分析的例子来演示Broadcast State的使用方法。关于Flink状态的基本原理,Keyed State和Operator State的使用方法,可以参考我之前的文章:Flink状态详解。本文代码已上传到github:https://github.c...
原创
发布博客 2020.02.07 ·
818 阅读 ·
0 点赞 ·
1 评论 ·
2 收藏

ProcessFunction:Flink最底层API使用教程

之前提到的一些算子和函数能够进行一些时间上的操作,但是不能获取算子当前的Processing Time或者是Watermark时间戳,调用起来简单但功能相对受限。如果想获取数据流中Watermark的时间戳,或者在时间上前后穿梭,需要使用ProcessFunction系列函数,它们是Flink体系中最底层的API,提供了对数据流更细粒度的操作权限。Flink SQL是基于这些函数实现的,一些需要高...
原创
发布博客 2020.02.05 ·
657 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

Flink Checkpoint机制原理剖析与参数配置

在Flink状态管理详解这篇文章中,我们介绍了Flink的状态都是基于本地的,而Flink又是一个部署在多节点的分布式引擎,分布式系统经常出现进程被杀、节点宕机或网络中断等问题,那么本地的状态在遇到故障时如何保证不丢呢?Flink定期保存状态数据到存储上,故障发生后从之前的备份中恢复,整个被称为Checkpoint机制,它为Flink提供了Exactly-Once的投递保障。本文将介绍Flink的...
原创
发布博客 2020.02.01 ·
1442 阅读 ·
0 点赞 ·
0 评论 ·
11 收藏

Flink状态管理:Keyed State和Operator List State深度解析

本文将重点跟大家讲解Flink的状态管理机制,包括状态要解决的问题、Flink几种不同类型的状态、Keyed State和Operator List State的使用方法等。相关代码参见的github:https://github.com/luweizheng/flink-tutorials。图片文字均为原创,转载请联系本专栏。为什么要管理状态有状态的计算是流处理框架要实现的重要功能,因...
原创
发布博客 2020.01.28 ·
2221 阅读 ·
9 点赞 ·
3 评论 ·
18 收藏

Flink时间系列:Event Time下如何处理迟到数据

Event Time语义下我们使用Watermark来判断数据是否迟到。一个迟到元素是指元素到达窗口算子时,该元素本该被分配到某个窗口,但由于延迟,窗口已经触发计算。目前Flink有三种处理迟到数据的方式:直接将迟到数据丢弃将迟到数据发送到另一个流重新执行一次计算,将迟到数据考虑进来,更新计算结果将迟到数据丢弃如果不做其他操作,默认情况下迟到数据会被直接丢弃。将迟到数据发送到另外...
原创
发布博客 2020.01.20 ·
650 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Flink进阶教程:如何在两个DataStream上进行Join操作

批处理经常要解决的问题是将两个数据源做关联Join操作。比如,很多手机APP都有一个用户数据源User,同时APP会记录用户的行为,我们称之为Behavior,两个表按照userId来进行Join。在流处理场景下,Flink也支持了Join,只不过Flink是在一个时间窗口上来进行两个表的Join。目前,Flink支持了两种Join:Window Join(窗口连接)和Interval Joi...
原创
发布博客 2020.01.18 ·
2645 阅读 ·
4 点赞 ·
1 评论 ·
6 收藏

Flink窗口全解析:三种时间窗口、窗口处理函数使用及案例

我们经常需要在一个时间窗口维度上对数据进行聚合,窗口是流处理应用中经常需要解决的问题。Flink的窗口算子为我们提供了方便易用的API,我们可以将数据流切分成一个个窗口,对窗口内的数据进行处理。本文将介绍如何在Flink上进行窗口的计算。一个Flink窗口应用的大致骨架结构如下所示:// Keyed Windowstream .keyBy(...) ...
原创
发布博客 2020.01.11 ·
4002 阅读 ·
5 点赞 ·
1 评论 ·
19 收藏

隐私、资本泡沫成焦点,大数据和AI从业者应该了解的2020六大趋势

包括阿里巴巴达摩院在内的全球顶级科研机构纷纷对2020年的科技行业做出了预测,过去的一年,大数据和AI行业继续蓬勃发展:硬件层面:各种专用芯片开始提供算力支持,5G带来更多潜在应用。软件层面:各巨头公司布局计算框架、云服务,为开发者提供更简单易用的基础服务。技术之外:隐私问题和资本泡沫开始引起广泛重视。个人数据隐私进一步得到保护一直以来,中国人对个人的数据隐私并不敏感,但随着一些隐私...
原创
发布博客 2020.01.09 ·
489 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Flink基础教程:时间语义、Event Time和Watermark机制原理与实践

在流处理中,时间是一个非常核心的概念,是整个系统的基石。比如,我们经常会遇到这样的需求:给定一个时间窗口,比如一个小时,统计时间窗口的内数据指标。那如何界定哪些数据将进入这个窗口呢?在窗口的定义之前,首先需要确定一个应用使用什么样的时间语义。本文将介绍Flink的Event Time、Processing Time和Ingestion Time三种时间语义,接着会详细介绍Event Time和W...
原创
发布博客 2020.01.06 ·
1487 阅读 ·
3 点赞 ·
0 评论 ·
3 收藏

深度解析Flink flatMap算子的自定义方法(附代码例子)

之前的四篇文章对Flink常用的算子进行了详细讲解并附上了大量使用案例:Flink单数据流基本转换:map、filter、flatMapFlink基于Key的分组转换:keyBy、reduce和aggregationsFlink多数据流转换:union和connectFlink并行度和数据重分配总结下来不难发现,使用Flink的算子必须进行自定义,自定义时可以使用Lambda表达式,...
原创
发布博客 2019.12.31 ·
5233 阅读 ·
2 点赞 ·
0 评论 ·
10 收藏

Flink进阶教程:数据类型和序列化机制简介

几乎所有的大数据框架都要面临分布式计算、数据传输和持久化问题。数据传输过程前后要进行数据的序列化和反序列化:序列化就是将一个内存对象转换成二进制串,形成网络传输或者持久化的数据流。反序列化将二进制串转换为内存对象,这样就可以直接在编程语言中读写和操作这个对象。一种最简单的序列化方法就是将复杂数据结构转化成JSON格式。序列化和反序列化是很多大数据框架必须考虑的问题,在Java和大数据生态圈中,已有...
原创
发布博客 2019.12.30 ·
1459 阅读 ·
1 点赞 ·
0 评论 ·
3 收藏

Flink零基础教程:并行度和数据重分布

Flink的Transformation转换主要包括四种:单数据流基本转换、基于Key的分组转换、多数据流转换和数据重分布转换。读者可以使用Flink Scala Shell或者Intellij Idea来进行练习:Flink Scala Shell使用教程Intellij Idea开发环境搭建教程Flink单数据流基本转换:map、filter、flatMapFlink基...
原创
发布博客 2019.12.27 ·
1259 阅读 ·
0 点赞 ·
1 评论 ·
2 收藏
加载更多