物联网开发实战
郭朝斌
小米生态链企业秒秒测 IoT 事业部总监,前诺基亚高级工程师
17380 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 36 讲
物联网开发实战
15
15
1.0x
00:00/00:00
登录|注册

10 | 数据处理框架:批处理还是流处理?

你好,我是郭朝斌。
第 4 讲中,我分析了物联网系统的数据技术体系。它包括 5 个部分:数据源数据采集、数据传输、数据存储、数据处理和数据应用。
不过,这还只是一个整体的认识框架。数据技术体系涉及的内容很多,虽然我在第 4 讲已经介绍了数据应用中用到的分析方法和算法,但是你还需要在这个框架的基础上,继续了解其他几个部分的知识。
所以我会从今天开始,用连续 3 讲的篇幅,分别讲一讲数据处理、数据存储和数据传输涉及的技术。每一讲分别专注其中一个主题,把它们都剖析透。至于数据源的数据采集,它跟具体的行业应用有关,不同的行业差别很大,所以我们这门课就不展开讲了。

处理海量数据时的难题

我们知道,数据分析需要用到很多算法,比如支持向量机和 K-means。那么在物联网系统的应用中,我们要怎么使用这些算法呢?
你可能会想:这算什么问题?从文件中或者数据库中读取数据,然后使用一个算法工具,比如 Python 语言的机器学习框架 Sklearn(也称为 Scikit-Learn),不就可以快速应用算法处理数据了吗?
其实没有这么简单,因为这种方式一般只适合用来学习和做研究。在真实的物联网场景中,你面临的是海量的数据。当我们面对海量数据的处理时,一切就不是这么直接和简单了。先不说高效地处理,首先你面临的挑战就是,如何把高达几 GB 甚至数 TB 的数据直接读取到内存中计算,显然直接加载到内存是不现实。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

物联网系统中的数据处理框架一直是一个备受关注的话题。传统的大数据处理技术采用MapReduce思路,即分而治之的策略,将数据分成多份并行处理,然后汇总结果。然而,随着业务需求的变化,流处理框架也应运而生。本文介绍了批处理和流处理两种数据处理框架,并对比了它们的特点和适用场景。在批处理方面,Spark和Flink是两个备受关注的开源框架,而在流处理方面,Storm、Spark Streaming和Flink是常见的选择。文章还提到了这些框架的设计思想和性能特点,以及它们在实际应用中的优劣势。总的来说,本文通过对批处理和流处理框架的介绍,帮助读者更好地理解了大数据处理技术的发展脉络和应用场景,为读者提供了对物联网系统中数据处理框架的全面认识。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《物联网开发实战》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(9)

  • 最新
  • 精选
  • 9ambition
    老师提到的这个问题,还是要先明确使用业务。 举个例子:我这里要建立一个室内气体质量检测系统。 需要用到批处理的部分:做历史数据展示,做离线展示,做周平均,月平均,年平均的数据展示。 需要用到流处理的部分:实时气体质量监测展示。 框架:根据需要展示的模块进行划分。

    作者回复: 很好的分析

    2021-02-18
    5
  • Rain
    为什么采用 DAG 呢?我给你挖掘一下这背后的本质。感觉这里并没有“挖掘”出来呀ヾノ≧∀≦)o 没说清楚DAG有什么特点,所以才采用这个数据结构

    作者回复: 我是假设大家熟悉DAG这个数据结构哈,可以通过极客上的数据结构算法专栏了解。有时间这个度很难把握,说多了偏离主题,有人会觉得啰嗦。 这个说的意思是因为数据处理的流程就是一个有向无环图,所以用有向无环图来描述这个过程符合处理流程的本质。

    2020-12-02
    2
    4
  • ranger
    推荐一个批流统一的编程框架:Apache Beam

    作者回复: ������ Google出品必是精品

    2020-11-30
    4
  • redheart
    老师,你的回复是不是用了一些图形符号,在安卓上显示为乱码。之前的好多回复也是。

    作者回复: 用了emoji表情,我在电脑Web上回复时有这个问题。现在基本在手机上回复哈。 不好意思,你可以把它们都看成笑脸😄

    2020-12-07
    2
  • kafka 就一个非常好的好用, 消息队列起家的 流处理平台

    作者回复: 是的,好软件有很强的生命力和成长性

    2020-12-03
    1
  • zhouqin
    老师可以介绍下,flink,storm在什么场景/规模下会用到。

    作者回复: 问这个一般说明你的系统还不需要用到。但是系统已经采用很多分布式技术,当你需要从消息队列中实时处理数据时,自然会需要用到。

    2020-12-02
  • 185
    实时的需求,按流的方式处理数据;能延时的需求,以批为单位处理数据。

    作者回复: ������

    2020-12-02
  • Geek_2c8816
    老师可以推荐下 数据结构与算法 的书籍或课程吗?这一节看的懵懵懂懂的好多名词

    作者回复: 极客App就有这样的课程阿。 建议你也可以再找大数据技术的书看看

    2020-12-01
    2
  • Geek_e34009
    每节课都给老师点个赞
    2022-02-28
收起评论
显示
设置
留言
9
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部