Close Banner

用 Apache Storm 进行实时分析

实时 Hadoop

中级

大约 2 个礼拜

6小时每周 (按照自己的节奏)

由以下企业参与制作:
加入成千上万的全球学员

开始免费课程

加入课程
免费
可享受
课程视频
实战练习
中级

大约 2 个礼拜

6小时每周 (按照自己的节奏)

由以下企业参与制作:
加入成千上万的全球学员

课程概述

世界正在趋向实时化!学习 Twitter 如何使用 Apache Storm,一款“实时 Hadoop”,实时处理推文或任何大数据流来驱动 d3 可视化。Storm 是一款免费、开源的实时计算系统,非常好用。跟随我们的 Karthik Ramasamy 讲师(Twitter Storm 的技术主管),了解这款为 Twitter 实时数据流管线提供支持的分布式、容错性灵活技术。Storm 于 2011 年由 Twitter 转为开源,并在 2014 年 9 月升级为 Apache 旗下的顶级项目之一。

从我们优达学城在首次 Twitter Storm 黑客马拉松期间提出的基本分布式概念起步,将 Storm 概念与 Storm 语法相关联,使用 Vagrant、Ubuntu、Maven、Flask、Redis 和 d3 可扩展地驱动文字云 (Word Cloud) 可视化。链接到公共 Twitter“浇水管”(garden hose)流,处理实时推文消息、解析内嵌的 URL 及计算全世界最热门标签。在 Storm 基础知识之外,探索 Python 中的多语言功能,整合开源组件并实现实时流连接。一切尽在这款课程。

在最终项目中,通过实现数据管线来可视化仅包含全球最热门标签的推文,实时跟踪趋势话题。与黑客马拉松参与者并肩作战,在他们设计自己的创意时,你也可以一起探索 Twitter API 或任何数据源来扩展自己的项目,从 Karthik 讲师那里获得反馈,并开源一款计算推文人气和地理位置的 U.S. 地图,完成最终项目。

为什么学习这门课程?

在实践中学习!世界正在实时化,由 Hadoop 支持的批处理能够提供超越现代移动、连接、始终在线用户期望的实时需求的延迟。秒响应时间的流处理对于满足这种需求必不可少。Twitter 是大规模实时处理的全球领导者。我们就跟随定义了这款技术的公司,了解它的强大之处。

先修要求

掌握 Java 编程语言。

要成功完成这门课程,你需要掌握 Java 中级知识。具体来说,你要熟悉 Java 语法、编译和运行时错误诊断与调试,能够按需要使用 javadocs 以及包括数组、HashMaps 和 LinkedLists 等中间数据结构。如果你需要学习这些技能,可以先从优达学城的 Java 入门课程入手。此外,你还需要书序如何识别和调试解析及运行时错误。

无需之前有 Ubuntu、git、Maven、Redis、Flask (Python) 或 d3(Javascript) 方面的经验。计算机科学导论等 Python 方面的基础课程会有所帮助。

查看使用优达学城的技术要求

学习计划

第 1 课

跟着讲师 Karthik Ramasamy 并通过优达学城的首届 Twitter Storm 马拉松,了解和实践实时、分布式、容错数据处理。使用 Redis、Flask 和 d3 进行实时 d3 文字云可视化,深入探究基本的 Storm 拓扑。

第 2 课

通过编写 Bolt、链接 Spout 并最终连接到实时 Twitter API 来处理实时处理推文,探索 Storm 的基本原理。 将滚动计数 Bolt 连接到你的拓扑,来可视化滚动顶部推出文字的过程,从而探索开源组件。

第 3 课

在 Storm 基础知识之外,使用 Beautiful Soup 解析器下载和解析实时推出的 URL,探索其多语言功能。集成复杂的开源 Bolt,计算最热门的 N 个文字来可视化实时最热门的 N 个标签。最后,使用流分组概念轻松创建流连接,以连接和动态处理多个流。

第 4 课

启动你的最终项目。我们还将在这节课中回答和讨论由黑客马拉松参与者提出的问题和话题。 如果有兴趣,你还可进一步探索 Vagrant、VirtualBox、Redis、Flask 和 d3。

最终项目:构造 Storm 拓扑

设计 Storm 拓扑和新的 Bolt,使它们能够使用流连接动态计算最热门的 N 个标签,并显示包含趋势性热门标签的实时推文。将你的可视化发布到论坛,并发表到推文上,让你的 Twitter 关注者也能看到。

项目扩展

使用实时 Twitter 样本流的附加功能或使用任何数据源来驱动你的实时 d3 可视化。

讲师与合作伙伴

Karthik Ramasamy

Karthik Ramasamy

Karthik 是 Storm 团队的工程经理和技术主管,也是一名实时分析师。他拥有 20 年并行数据库、大数据基础结构和网络方面的工作经验。与他人联合创办的 Locomatix 是一家专门使用 Twitter 收购的 SQL 进行实时 Hadoop和 Cassandra 数据流处理的公司。在加入 Locomatix 之前,Karthik 曾在瞻博网络 (Juniper Networks) 和 Greenplum 公司工作。他还曾在威斯康星大学,广泛从事并行数据库系统、查询处理、扩展技术、存储引擎和在线分析系统工作。其中多个研究项目还联合组成了一家公司,后被 Teradata 收购。他发表过多篇文章,获取了多项专利,还著有一本最畅销的书籍《网络路由:算法、协议和结构》(Network Routing: Algorithms, Protocols and Architectures)。他拥有威斯康辛大学麦迪逊分校计算机科学专业的哲学博士学位。

Lewis Kaneshiro

Lewis Kaneshiro

Lewis 于 2014 年加入优达学城,热衷于实现在线的大规模相关性和可扩展的免费教育。在此之前他从事财务方面的工作。除了教授编程、统计、基础金融数学和数据工程外,Lewis 还在业余时间教授陶瓷手工艺。

官方微信公众号二维码

优达学城(Udacity)微信