云计算入门指南:Data-Science-For-Beginners 第 17 课带你理解云上数据科学
本篇基于开源课程 Data-Science-For-Beginners(10 周 / 20 课,面向零基础的数据科学学习课程)中"数据科学与云计算"单元的引入课(5-Data-Science-In-Cloud/17-Introduction/README.md)撰写。你将系统地掌握云计算的本质定义、公有云/私有云/混合云的划分、IaaS/PaaS/SaaS 三种服务模型,理解为什么数据科学项目要上云,并通过"实时社交媒体情感分析"与"科学论文分析"两个典型场景,看清云端数据科学的完整落地路径。
插图:课程配套视觉笔记 Sketchnote(第 17 课:Data Science In The Cloud),把"什么是云计算 → 为什么用云 → 云的类型 → 云上数据科学示例"串成了一张图。
课程定位:一场引导你"把数据科学搬到云上"的绪论
本课是全套 20 课中的第 17 课,位于课程第 5 单元"数据科学与云计算"(5-Data-Science-In-Cloud/README.md)的开篇位置。该单元共三课,本课负责建立概念框架,随后的两课则把理论落到动手实践上:
正如单元首页所描述的,后续课程将基于一份心脏病发作(heart failure)临床数据集,在云端完成"训练 → 部署 → 消费模型"的完整闭环,分别用纯界面操作(低代码/无代码)和 Azure ML SDK(写代码)两种方式实现。因此,本课讲解的存储、计算、数据集成、分析与机器学习服务等概念,会在后面两课中一一得到代码级印证。
什么是云计算(Cloud Computing)?
云计算(The Cloud / Cloud Computing),本质上是通过互联网按需交付各种计算服务,服务托管在基础设施之上,采用**按使用付费(pay-as-you-go)**的计费模式。云上交付的服务涵盖存储、数据库、网络、软件、分析以及各类智能服务。
课程还点出了现实中三种最常见的云部署形态:
| 云的类型 | 定义(依据课程原文) |
|---|---|
| 公有云(Public cloud) | 由第三方云服务提供商拥有并运营,通过互联网向公众交付其计算资源 |
| 私有云(Private cloud) | 计算资源被单一企业或组织独占使用,服务与基础设施维护在私有网络上 |
| 混合云(Hybrid cloud) | 公有云与私有云的结合体:用户保留本地(on-premises)数据中心,同时允许数据与应用运行在一个或多个公有云上 |
在这一框架下,绝大多数云服务又可以归入三大服务类别(category):
| 服务模型 | 用户获得什么 | 用户不需要操心什么 |
|---|---|---|
| 基础设施即服务(IaaS) | 按需租用 IT 基础设施,如服务器、虚拟机(VM)、存储、网络、操作系统 | 自购硬件、自行托管机房 |
| 平台即服务(PaaS) | 租用"开发、测试、交付、管理软件应用"的整套环境 | 搭建和管理开发所需的服务器、存储、网络、数据库等底层基础设施 |
| 软件即服务(SaaS) | 通过互联网按需、通常按订阅获取软件应用 | 托管与运维软件本身、底层基础设施,以及升级、安全补丁等维护工作 |
当前市场上规模较大的云服务提供商包括 Amazon Web Services(AWS)、Google Cloud Platform(GCP)与 Microsoft Azure。课程单元首页也明确以 Azure 为演示平台来串联后续两课实践。
为什么数据科学要选云?七大理由
开发者与 IT 从业者选择云,通常出于以下七大原因——它们全部指向数据科学项目"缺算力、缺存储、缺运维时间"的现实痛点:
- 创新(Innovation):可以直接把云厂商构建好的创新服务(如认知服务)集成进自己的应用,不必一切从零开发。
- 灵活性(Flexibility):服务种类丰富、只为自己需要的服务付费;典型按量计费,并随需求演进随时调整订阅的服务。
- 预算(Budget):无需初期大规模投入购买硬件与软件、自建并运维本地数据中心,用多少付多少。
- 可扩展性(Scalability):资源随项目需求弹性伸缩,应用可根据外部因素随时增减计算能力、存储与带宽。
- 生产力(Productivity):把管理数据中心这类可由他人代劳的杂务外包,把精力聚焦到业务本身。
- 可靠性(Reliability):云提供多种持续备份数据的方式,并可通过灾难恢复计划在危机时刻保持业务与服务的连续性。
- 安全性(Security):借助云厂商提供的策略、技术与控制手段,为项目加固安全防线。
云服务如何逐个击破数据科学家的具体挑战
课程进一步把视角收窄到"数据科学家与数据开发者的日常工作",指出云能在以下五个环节直接提供解决方案:
- 海量数据存储:不必再自购、自管、自护大型服务器,可以直接把数据存进云端,例如 Azure Cosmos DB、Azure SQL Database 与 Azure Data Lake Storage。
- 数据集成(Data Integration):数据集成是数据科学的关键环节,帮助你完成"从收集数据到采取行动"的跃迁。借助云端数据集成服务(如 Data Factory),可以收集、转换并把来自多种来源的数据整合进统一的数据仓库。
- 数据(规模)处理:处理海量数据需要强大的算力,并非人人都有足够强的本地机器,因此很多人直接借力云端巨型算力来运行和部署自己的解决方案。
- 数据分析服务:借助 Azure Synapse Analytics、Azure Stream Analytics、Azure Databricks 等云端分析服务,把数据转化为可行动的洞察(actionable insights)。
- 机器学习与数据智能服务:不必从零起步,可直接使用云厂商提供的机器学习算法(如 Azure ML),也可使用语音转文本、文本转语音、计算机视觉等认知服务。
从课程源码结构看,这一节实际上为后续两课规划了技术选型地图:存储对应数据集上传,计算对应 compute instance / compute cluster,机器学习对应 AutoML 训练,而"消费模型"则落在部署端点(endpoint)上。
云上数据科学的两个实战示例
为了把抽象概念具象化,课程给出了两个完整场景。这也对应了本课视觉笔记底部的两块核心应用图例。
示例一:实时社交媒体情感分析(Twitter 情感分析)
场景设定:你运营一家新闻媒体网站,想借助实时数据判断读者可能对什么内容感兴趣。于是你构建一个程序,对 Twitter 上与读者相关的主题数据做实时情感分析。
需要观测的两个关键指标是:特定话题(话题标签 hashtag)上的推文量,以及通过分析工具围绕指定话题计算得到的情感倾向(sentiment)。
课程列出了搭建该项目所需的六个步骤:
- 创建用于流式输入的 Event Hub(事件中心),负责从 Twitter 收集数据;
- 配置并启动一个 Twitter 客户端应用,调用 Twitter Streaming APIs;
- 创建一个 Stream Analytics 作业;
- 指定作业的输入(input)与查询(query);
- 创建**输出接收器(output sink)**并指定作业输出;
- 启动作业。
可以看到,一条完整的实时数据管道(摄取 → 流式处理 → 输出)完全由云服务编排,无需自建任何常驻服务器。
示例二:科学论文分析(COVID 论文知识提取)
第二个示例来自本课程作者之一 Dmitry Soshnikov 的真实项目:一个分析 COVID 相关科学论文的工具。该工具从论文中抽取知识、获得洞察,帮助研究者在大规模论文集合中高效导航。它的关键环节同样全部由云服务承担:
- 提取与预处理:使用 Text Analytics for Health(文本分析-医疗健康)服务抽取并预处理论文信息;
- 并行化处理:使用 Azure ML 对处理过程进行并行化;
- 存储与查询:使用 Cosmos DB 存储并查询信息;
- 可视化探索:使用 Power BI 创建交互式仪表板,供研究者做数据探索与可视化。
两个示例的共同点很明显:数据摄取、流式/批式处理、信息抽取、存储、机器学习与可视化——这些数据科学工作流的标准环节,逐一对应着云平台上的托管服务。这也正是"为什么云适合数据科学"最直接的论证。
在本仓库继续实战:概念如何落到代码与界面
本课是概念课,但仓库里紧邻的课程资源就是它的"实践续篇"。如果你想在本仓库内进一步验证上述概念,可以沿以下路径继续:
- 心脏病预测项目全貌与数据来源说明见单元首页 5-Data-Science-In-Cloud/README.md;
- 低代码/无代码路线(Azure ML Studio、AutoML 界面、模型部署与端点消费)见 5-Data-Science-In-Cloud/18-Low-Code/README.md。该课明确对比了两条路线的取舍:低代码/无代码上手门槛低、适合快速验证项目可行性和做概念验证(POC);而一旦项目要走向生产,就必须用 SDK 把"资源创建到模型部署"的每个环节程序化、自动化;
- SDK 路线见 5-Data-Science-In-Cloud/19-Azure/README.md(配套代码即 notebook.ipynb 与 solution 目录)。
SDK 一课恰好回扣本课"云计算即按需租用计算资源"的定义。例如创建实验、租用计算集群的代码:
from azureml.core import Workspace, Experiment
ws = Workspace.from_config() # 从配置文件加载工作区
experiment = Experiment(ws, 'aml-experiment') # 按名称获取或创建实验
from azureml.core.compute import AmlCompute
aml_name = "heart-f-cluster"
aml_config = AmlCompute.provisioning_configuration(vm_size="Standard_D2_v2",
min_nodes=1, max_nodes=3)
aml_compute = AmlCompute.create(ws, name=aml_name,
provisioning_configuration=aml_config)
其中"计算集群按需从 1 个节点扩展到 3 个节点、用完即释放"的配置,正是本课所述可扩展性与按需付费在源码层面的体现。再如 AutoML 训练配置中对 experiment_timeout_minutes(实验自动停止的分钟上限)、max_concurrent_iterations(最大并发迭代数)、task="classification"(任务类型)等参数的设置,也印证了"直接使用云厂商提供的机器学习算法、从云端获得可扩展算力"这一理念。
学习巩固:Market Research(市场调研)作业
本课的课后作业是一份调研型任务,要求你"货比三家"。任务说明详见课程作业文件 5-Data-Science-In-Cloud/17-Introduction/assignment.md,要点如下:
作业要求:本课提到多家重要的云服务提供商。请你做一次市场调研,弄清楚各家能为数据科学家提供什么能力,各家服务是否具有可比性,并撰写一篇短文,描述三家或以上云厂商的数据科学服务。
评分标准(Rubric):
| 优秀(Exemplary) | 合格(Adequate) | 待改进(Needs Improvement) |
|---|---|---|
| 一页纸的短文,描述了三家云厂商的数据科学服务,并指出它们之间的差异 | 提交了篇幅更短的短文 | 提交了短文但缺少必要的分析 |
这份作业的设计思路,与本课正文完全一致——先建立"云是什么、云能带来什么"的通用框架,再用横向对比的方式,把抽象概念落到具体厂商的真实服务上,为后续两课在 Azure 上的动手实验打好选型与理解的基础。
小结
本课作为"数据科学与云计算"单元的开篇,为你铺好了三块认知基石:云计算的定义与按需付费本质、公有云/私有云/混合云与 IaaS/PaaS/SaaS 的划分、以及云在存储、数据集成、规模处理、分析与机器学习等环节对数据科学的具体价值。两个贴近现实的示例(实时 Twitter 情感分析、COVID 论文知识提取)则展示了这些能力如何被组装成真实系统。读懂本课之后,你就可以放心地进入仓库中第 18、19 课,亲手在云端完成一次从数据到模型的完整训练与部署。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0629
MiniCPM5-2BMiniCPM5-2B 是一款面向端侧、本地部署和资源受限场景的 2B 稠密 Transformer,能够达到同尺寸开源模型 SOTA 水平。Markdown00
GLM-5.3GLM-5.3 与 GLM-5.2 使用相同的基座模型——所有提升均来自后训练。与 GLM-5.2 相比,它在复杂编程和长程任务上的表现显著提升。Jinja00
HivisionIDPhotos⚡️HivisionIDPhotos: a lightweight and efficient AI ID photos tools. 一个轻量级的AI证件照制作算法。Python07
DragonOSDragonOS is an operating system developed from scratch using Rust, with Linux compatibility. It is designed for **Serverless** scenarios. 使用Rust从0自研内核,具有Linux兼容性的操作系统,面向云计算Serverless场景而设计。Rust00
Spark-X2.5-1.7BSpark-X2.5-1.7B 旨在让强大的 AI 更加实用、高效且易于获取。这些模型在广泛的日常任务中表现出色,涵盖对话、写作、翻译、推理、编程、工具调用和智能体工作流,并在同等规模的开源模型中取得领先结果。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00
