千家信息网

AWS 数据分析服务(十)

发表于:2024-11-21 作者:千家信息网编辑
千家信息网最后更新 2024年11月21日,Amazon Kinesis概念处理AWS上大量流数据的数据平台Kinesis Streams 用于搜集数据,Client Library 用于分析后的展示构建用于处理或分析流数据的自定义应用程序可以
千家信息网最后更新 2024年11月21日AWS 数据分析服务(十)

Amazon Kinesis

概念

  • 处理AWS上大量流数据的数据平台
  • Kinesis Streams 用于搜集数据,Client Library 用于分析后的展示
  • 构建用于处理或分析流数据的自定义应用程序
  • 可以支持从数十万中来源捕获和存储TB级的数据,如网站点击流、财务交易、媒体馈送、IT日志等
  • 使用IAM限制用户和角色对Kinesis的访问,使用角色的临时安全凭证可以提高安全性
  • Kiesis只能使用SSL加密进行访问

Kinesis组件

Kinesis Data Firehose

  • 加载大量流数据到AWS服务中
  • 数据默认被存储在S3中,从S3还可以再被进一步转存到Redshift
  • 数据也可以被写入到ElaticSearch中,并且同时备份到S3

Kinesis Data Streams:

  • 自定义构建应用程序,实时分析流数据
  • 利用AWS开发工具包,可以实现数据在流中移动时仍然能被处理,从而接近实时
  • 为了接近实时,处理的复杂度通常较轻
  • 创建者 Producer 持续将数据推送进Data Streams
  • 数据在DataStream 由一组组分片(Shards)组成,每个分片就是一条记录,通过不断分片实现几乎无限的扩展能力
  • 使用者 Comsumer 会实时对Data Steams的内容进行处理,并且将结果推送到不同的AWS服务
  • 数据在Stream中是临时的,默认存储24小时,最大可以设置为7天

Kinesis Data Analytics

  • 使用标准SQL实时分析流数据

Kinesis Video Streams

  • 捕获、处理并存储视频流用于分析和机器学习

适用场景

  • 大量的数据摄取
  • 海量流数据的实时处理

Elastic MapReduce ( EMR)

概念

  • 提供完全托管的按需 Hadoop 框架
  • 启动EMR集群的必选项
  • 集群节点的实例类型
  • 集群中的节点数量
  • 希望运行的Hadoop版本
  • Hadoop集群选择存储类型至关重要,主要因素是集群是持久的还是瞬态的
  • 需要持续运行并分析数据的集群是持久集群
  • 按需启动并在完成后立即停止的集群为瞬时集群
  • 默认不限制EMR集群数量,但限制用于EMR节点总数为20个,可申请扩展
  • 可以从S3以及其他任何位置摄取数据
  • Hadoop 日志文件默认存储在S3中,且不支持压缩
  • EMR支持竞价实例
  • EMR需要在一个可用区部署,不支持跨可用区部署,通常建议选择数据所在的区域
  • 集群启动通常在15分钟内可以开始进行数据处理
  • EMR允许使用磁性、SSD和 PIOPS SSD三种EBS卷。
  • 适用场景
    • 日志处理,点击流分析,基因学和生命科学

文件系统

HDFS

  • Hadoop标准文件系统
  • 所有数据都在多个实例中被复制保证持久性
  • HDFS可以利用EBS存储确保在关闭集群时不丢失数据
  • 非常适合于持久的集群

EMRFS

  • HDFS在AWS S3上的实现,将数据保存在S3中
  • 可以使用所有Hadoop生态的工具系统
  • 非常适合于瞬时集群

EMR NoteBooks

  • EMR Notebooks 提供基于 Jupyter Notebook 的托管环境,可供数据科学家、分析员和开发人员准备数据并使其可视化、与同伴协作、构建应用程序,并使用 EMR 群集执行交互分析。
  • 您可以使用 EMR Notebooks 构建 Apache Spark 应用程序,并且轻而易举地在 EMR 群集上运行交互查询。多个用户可以直接从控制台创建无服务器笔记本、将其挂载到现有的共享 EMR 群集,或直接从控制台提供至少 1 个节点的并立即开始使用 Spark 进行实验。

安全设置

  • EMR默认将设置两个EC2安全组: 主节点和从属节点
    • 主安全组
      • 定义一个端口用于与服务的通信
      • 打开的SSH端口,允许启动时指定的SSH密钥进入实例
      • 默认不允许被外部实例访问,但可设置
    • 从属安全组
      • 只允许与主实例进行交互
  • 默认使用SSL向S3传送数据
  • 可以支持对集群进行标记,最多10个标记,但不支持基于标记的IAM许可。
  • 使用IAM权限和角色控制对EMR的访问和控制
  • 可以设置允许非Hadoop用户将作业提交至集群的权限
  • 可以将EMR放入到私有VPC中实现额外的保护

AWS Data Pipeline

概念

  • 实现在指定时间间隔,在AWS资源和本地数据之间可靠地处理和移动数据
  • 您可以快速轻松地部署管道,无需分心管理日常数据操作,从而让您能够集中精力从该数据获取所需的信息。您只需为您的数据管道指定所需数据源、时间表和处理活动即可。
  • 与SWF相比,Data Pipeline 专门设计用于简化大多数数据驱动工作流程中常见的特定步骤。例如:在输入数据符合特定准备就绪标准后执行活动,轻松在不同数据存储之间复制数据,以及调度链接的转换。这种高度具体的侧重点意味着 Data Pipeline 工作流定义可以快速创建,并且无需代码或编程知识。
  • 定期访问存储数据,并对数据进行大规模处理,并且将结果转换为AWS服务

  • 利用Pipeline的定义安排和运行任务,可以每15分钟,每天,每周运行等
  • 数据节点是pipeline流水线读取和写入数据的位置,可以是S3,MySQL,Redshift等AWS或本地存储
  • Pipeline通常需要配合其他服务执行预定义的任务,如EMR,EC2等,并在执行完成后自动关闭该服务
  • Pipeline在编排的过程支持条件语句
  • 若某项活动失败,默认会不断重试,所以需要配置限制重试次数或未成功时采取的行动
  • 每个账户默认支持100个管道,单一管道中可以拥有100个对象,可以申请扩展

属性

  • 管道
    • 即 AWS Data Pipeline 资源,其中包含由执行业务逻辑所需的数据源、目的地和预定义或自定义数据处理活动所组成的关联数据链的定义。
  • 数据节点
    • 数据节点代表您的业务数据。例如,数据节点可以表示特定的 Amazon S3 路径。AWS Data Pipeline 支持表达式语言,使其更容易引用常态生成的数据。
  • 活动
    • 是 AWS Data Pipeline 代表您启动的操作,它是管道的一部分。示例活动包括 EMR 或 Hive 作业、复制、SQL 查询或命令行脚本。
  • 前提条件
    • 前提条件是指成熟度检查,可选择性地将其关联到数据源或活动。如果数据源具有前提条件检查,那么必须先成功完成检查,然后才能启动任何需要用到该数据源的活动。如果活动具有前提条件,那么必须先成功完成检查,然后才能运行活动。
  • 时间表
    • 定义管道活动运行的时间和服务预计的可使用数据的频率。可以选择时间表结束日期,在此时间后,AWS Data Pipeline 服务不执行任何活动。
    • 当您将时间表与活动关联起来后,活动就会按时间表运行。当您将时间表与数据源关联起来,就表示您告诉 AWS Data Pipeline 服务,您期望数据会按照该时间表更新。

适用场景

  • 非常适用于常规批处理的ETL流程,而不是连续数据流

Amazon Elastic Transcoder

  • 一种在线媒体转码的工具
  • 将视频从源格式转换到其他的格式和分辨率,以便在手机、平板、PC等设备上播放
  • 一般来说,将需要转码的媒体文件放在AWS S3的存储桶上,创建相应的管道和任务将文件转码为特定的格式,最后将文件输出到另一个S3的存储桶上面去。
  • 也可以使用一些预设的模板来转换媒体格式。
  • 可以配合Lambda函数,在有新的文件上传到S3后触发函数代码,执行Elastic Transcoder并自动进行媒体文件的转码。

Amazon Athena

  • Amazon Athena 是一种交互式查询服务,让您能够轻松使用标准 SQL 分析 Amazon S3 中的数据。Athena 没有服务器,因此您无需管理任何基础设施,且只需为您运行的查询付费。
  • Athena 简单易用。只需指向您存储在 Amazon S3 中的数据,定义架构并使用标准 SQL 开始查询就可在数秒内获取最多的结果。
  • 使用 Athena,无需执行复杂的 ETL 作业来为数据分析做准备。这样一来,具备 SQL 技能的任何人都可以轻松快速地分析大规模数据集。
  • 支持的数据格式包括 JSON,Apache Parquet, Apache ORC

Amazon Elasticsearch Service

  • Amazon Elasticsearch Service 是一项完全托管的服务,方便您部署、保护和运行大量 Elasticsearch 操作,且不用停机。
  • 该服务提供开源 Elasticsearch API、受托管的 Kibana 以及与 Logstash 和其他 AWS 服务的集成,支持您安全获取任何来源的数据,并开展实时搜索、分析和可视化。
  • 使用 Amazon Elasticsearch Service 时,您只需按实际用量付费,没有预付成本或使用要求。有了 Amazon Elasticsearch Service,您无需承担运营开销,便可获得所需的 ELK 堆栈。

AWS X-Ray

  • AWS X-Ray 可以帮助开发人员分析与调试分布式生产应用程序,例如使用微服务架构构建的应用程序。
  • 借助 X-Ray,您可以了解应用程序及其底层服务的执行方式,从而识别和排查导致性能问题和错误的根本原因。
  • X-Ray 可在请求通过应用程序时提供请求的端到端视图,并展示应用程序底层组件的映射。
  • 您可以使用 X-Ray 分析开发和生产中的应用程序,从简单的三层应用程序到包含上千种服务的复杂微服务应用程序。
0