云端数据科学入门:云计算基础、服务模型与数据科学上云实战(Data-Science-For-Beginners 课程解析)
【免费下载链接】Data-Science-For-Beginners10 Weeks, 20 Lessons, Data Science for All!项目地址: https://gitcode.com/GitHub_Trending/da/Data-Science-For-Beginners
导读
本文基于开源课程 Data-Science-For-Beginners 第五章《Data Science in the Cloud》的引言课(5-Data-Science-In-Cloud/17-Introduction/README.md),系统讲解云计算的核心原理、公有云/私有云/混合云的部署形态、IaaS/PaaS/SaaS 三种服务模型,以及数据科学家为何应该把项目搬上云端。读完本文,你将掌握:如何判断自己的数据科学工作流适合哪种云服务形态、云服务能为存储、集成、处理、分析与机器学习等环节解决哪些实际问题,并通过课程内置的课后测验与课后作业完成一次从概念到实战的知识闭环。
什么是云?
云(The Cloud),即云计算(Cloud Computing),是指通过互联网交付一系列"按需付费"(pay-as-you-go)的计算服务,这些服务托管在远程基础设施之上,具体包括存储、数据库、网络、软件、分析与智能服务等解决方案。与其自建机房、自购硬件,不如按用量租用他人的基础设施与服务。
三种部署形态:公有云、私有云与混合云
课程将云按所有权与访问范围划分为三类:
- 公有云(Public cloud):由第三方云服务提供商拥有并运营,其计算资源通过互联网向公众开放交付。使用者无需关心底层硬件维护,成本分摊到各租户。
- 私有云(Private cloud):仅供单一企业或组织独占使用的云计算资源,服务和基础设施在私有网络上维护,安全性与可控性更高,适合对数据主权有严格要求的场景。
- 混合云(Hybrid cloud):将公有云与私有云结合的系统。用户保留本地数据中心(on-premises)的同时,允许数据和应用程序运行在一个或多个公有云上,兼顾敏感数据的本地管控与弹性算力的按需扩展。
三种服务模型:IaaS、PaaS 与 SaaS
大多数云服务可归入以下三大类别:
| 服务模型 | 用户租用/获得什么 | 用户无需关心什么 | 典型例子 |
|---|---|---|---|
| IaaS(基础设施即服务) | 服务器、虚拟机(VM)、存储、网络、操作系统等 IT 基础设施 | 硬件采购与机房运维 | 云虚拟机、托管存储 |
| PaaS(平台即服务) | 开发、测试、交付和管理软件应用的一整套环境 | 支撑开发所需的服务器、存储、网络、数据库等底层基础设施 | 云上的数据科学平台、应用托管平台 |
| SaaS(软件即服务) | 通过互联网按需(通常按订阅)访问软件应用 | 软件的托管、底层基础设施与升级、安全补丁等维护工作 | 在线 BI 工具、云笔记 |
这三者的区别在课程配套测验中也有对应考察(见 quiz-app/src/assets/translations/en/group-5.json 中第 33 题):"哪种云计算服务提供对软件应用的访问而无需维护软件?"——答案正是SaaS。
目前市场上规模最大的云服务提供商包括Amazon Web Services(AWS)、Google Cloud Platform(GCP)与Microsoft Azure,它们都在围绕数据科学构建各自的托管产品矩阵。
为什么数据科学要选择云端?
开发者与 IT 从业者选择云的七大理由
课程总结出以下核心动因:
- 创新(Innovation):可直接将云厂商开发的创新服务集成进自己的应用,快速获得语音、视觉、推荐等开箱即用的能力。
- 灵活性(Flexibility):只为自己需要的服务付费,按需选择,随业务演进调整服务组合。
- 预算(Budget):免去购买软硬件、自建与运营本地数据中心的前期投资,按用量付费即可。
- 可扩展性(Scalability):资源随项目需求伸缩,应用可以在任何时刻按外部因素增减计算能力、存储和带宽。
- 生产力(Productivity):把机房运维等可外包的工作交给云厂商,把时间聚焦在业务本身。
- 可靠性(Reliability):云提供多种持续备份机制,可建立灾难恢复(disaster recovery)计划,即使面对危机也能保持业务运行。
- 安全性(Security):借助云厂商提供的策略、技术与管控手段,强化项目安全。
数据科学家面临的具体挑战与云端解法
进一步聚焦数据科学家与数据工程师的日常工作,云在以下五个环节提供了直接的解决方案:
- 存储海量数据:无需购买、管理和保护大型服务器,可直接把数据存进云端,例如 Azure Cosmos DB、Azure SQL Database 与 Azure Data Lake Storage 等存储方案。
- 执行数据集成(Data Integration):数据集成是数据科学中"从数据收集迈向行动"的关键环节。借助云端集成服务(如 Data Factory),可以从多个来源采集、转换数据,并整合进统一的数据仓库。
- 处理数据:海量数据处理需要巨大的算力,并非人人都拥有足够强大的机器。许多团队选择直接调用云的巨型算力来运行和部署解决方案。
- 使用数据分析服务:诸如 Azure Synapse Analytics、Azure Stream Analytics、Azure Databricks 等服务,帮助把数据转化为可执行的洞察。
- 使用机器学习与数据智能服务:无需从零搭建算法,可直接使用云厂商提供的机器学习服务(如 Azure ML)以及认知服务(speech-to-text、text-to-speech、computer vision 等)。
配套测验的第 32 题(课前)也考察了"什么是云"与"云的优势":云被定义为"通过互联网提供的一系列按需付费计算服务",其优势关键词是"灵活性、可扩展性、可靠性、安全性"(见 quiz-app/src/assets/translations/en/group-5.json)。
云端数据科学的两个典型实例
实例一:实时社交媒体情感分析(Real-time Social Media Sentiment Analysis)
这是一个机器学习入门者最常见的实战场景。假设你运营一家新闻媒体网站,希望借助实时数据了解读者对哪些内容感兴趣,可以构建一个程序,对 Twitter 发布中与读者相关话题的数据做实时情感分析。核心观测指标有两个:
- 特定话题(hashtag)相关的推文数量(volume);
- 推文围绕指定话题的情感倾向(sentiment),由执行情感分析的分析工具得出。
该项目在云端的实施步骤如下:
- 为流式输入创建一个事件中心(Event Hub),用于从 Twitter 采集数据;
- 配置并启动一个Twitter 客户端应用,调用 Twitter Streaming API;
- 创建一个Stream Analytics 作业;
- 指定作业的输入(input)与查询(query);
- 创建**输出接收器(output sink)**并指定作业输出;
- 启动作业。
完整流程的官方文档教程可在 Azure Stream Analytics 文档中检索《Twitter sentiment analysis in real-time with Azure Stream Analytics》获得,本课程亦在5-Data-Science-In-Cloud章节目录中将其列为必读参考(见 5-Data-Science-In-Cloud/17-Introduction/README.md)。
实例二:科学论文分析(Scientific Papers Analysis)
第二个实例来自本课程作者之一 Dmitry Soshnikov 创建的 COVID 论文分析工具。该项目展示了如何构建一个从海量科学论文中抽取知识、获得洞察、帮助研究者高效浏览大型论文库的工具,其云端技术栈分为四步:
- 使用Text Analytics for Health(认知服务)抽取并预处理论文中的医学实体与信息;
- 使用Azure ML将处理过程并行化,加速大规模语料的处理;
- 使用Cosmos DB完成信息的存储与查询;
- 使用Power BI构建交互式仪表盘,进行数据探索与可视化。
从这两个实例可以看到,云服务能够以多种方式支撑数据科学全流程——从流式采集、实时分析,到大规模批处理、知识存储与可视化呈现。
本课在课程体系中的位置:从"云概念"到"云端项目"
本引言课是整个《Data Science in the Cloud》章节(5-Data-Science-In-Cloud/README.md)的第一课,为后续两课奠定概念基础。章节总览明确指出:后续将基于一份心衰(heart failure)数据集,以两种方式完成"训练—部署—消费"一个预测模型,验证"心衰发生概率"评估任务:
- 低代码/无代码方式(Low code/No code):见 18-Low-Code/README.md。在 Azure ML Studio 中以图形界面完成工作区创建、计算资源配置、数据集加载与 AutoML 训练,并一键部署 Web 服务、生成 REST 端点供外部应用消费。适合快速验证项目可行性、构建概念验证(POC)。
- Azure ML SDK 方式:见 19-Azure/README.md。以 Python SDK 在 Jupyter Notebook 中编程实现完全相同的流程,核心调用链包括
Workspace.from_config()加载工作区、Experiment创建实验、AmlCompute.provisioning_configuration()创建计算集群、AutoMLConfig配置自动机器学习(关键参数如experiment_timeout_minutes、primary_metric、label_column_name等)、Model.deploy()配合InferenceConfig与AciWebservice完成部署,最终通过aci_service.run()消费端点。适合生产就绪与全流程自动化。
两种方式的对比(低代码上手快、无需编程经验、适合 POC;SDK 需要编程基础但支持生产级自动化)恰好呼应本课强调的"云为数据科学提供从存储到智能服务的全链路能力"这一主线。
课后任务:市场调研(Market Research)
本课配套作业位于 5-Data-Science-In-Cloud/17-Introduction/assignment.md,要求如下:
Instructions:在本课中你了解到存在多个重要的云服务提供商。请做一次市场调研,发现各家能为数据科学家提供什么能力——它们的服务是否可比?撰写一篇论文,描述其中至少三家云服务提供商的数据科学产品。
评分标准(Rubric):
| 优秀(Exemplary) | 合格(Adequate) | 待改进(Needs Improvement) |
|---|---|---|
| 一篇一页论文,描述三家云提供商的数据科学产品并区分其差异 | 提交了一篇较短的论文 | 提交了论文但未完成分析 |
建议调研时围绕本课提到的能力维度展开对比:存储方案(对象存储/数据湖)、数据集成服务、流式与批处理分析、AutoML 与认知服务、部署与端点的易用性,并结合自身项目场景给出选型结论。
小结
- 云 = 按需付费的互联网计算服务,按部署形态分为公有云、私有云、混合云,按服务粒度分为 IaaS、PaaS、SaaS。
- 云为数据科学提供的核心价值在于存储、集成、处理、分析、机器学习五大环节,同时带来创新、灵活、低成本、可扩展、高生产力、高可靠与安全等收益。
- 通过实时社交媒体情感分析与 COVID 论文分析两个实例,可以直观看到云服务在流式分析、认知服务、并行计算、NoSQL 存储与可视化仪表盘上的完整组合应用。
- 本课是整个云端数据科学章节的起点,后续将分别以低代码与 SDK 两种方式在 Azure 上完成端到端的机器学习项目,建议在动手前先完成本课的市场调研作业,建立对主流云厂商数据科学产品的基本认知。
【免费下载链接】Data-Science-For-Beginners10 Weeks, 20 Lessons, Data Science for All!项目地址: https://gitcode.com/GitHub_Trending/da/Data-Science-For-Beginners
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考