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 分析开发和生产中的应用程序,从简单的三层应用程序到包含上千种服务的复杂微服务应用程序。
AWS 数据分析服务(十)的更多相关文章
- AWS专线服务总结和疑问
1.AWS专线服务的入口, 从介绍页上可以看到,有如下功能: (1)专线可以连接AWS云主机和传统的数据中心或者分支机构. (2)专线可以连接AWS云主机和托管区的主机. 连接要素: (1)需要使用V ...
- Aws云服务EMR使用
Aws云服务EMR使用 创建表结构 创建abc库下的abc_user_i表字段s3://abc-server/abc-emr/shell/ABC_USER_HIVE.q: EXTERNAL 指定为外部 ...
- [转帖]通俗解释 AWS 云服务每个组件的作用
你有听说过 ContainerCache,ElastiCast 和 QR72 这些 AWS 的新服务吗? 没有就对了,这些都是我编的:) 不过,AWS 有 50 多个服务,从名称也不能看出这些服务是做 ...
- AWS向中国有限预览客户推出多级别AWS支持服务
2014年9月26日 在AWS中国(北京)区域有限预览服务开展的过程中.很多客户都提出了对AWS支持服务(AWS Support)的需求. AWS客户在向云端部署系统,日常运营维护以及关键性项目实 ...
- AWS携手上海嘉定政府推出首个联合孵化器 为创业公司拓展AWS云服务可用资源
2014年10月17日 AWS Activate创业加速计划为中国创业公司提供各种支持,包含AWS全球和中国区服务抵扣券.培训和开发人员支持.同一时候,AWS携手上海嘉定政府成立首家联合孵化器,为创业 ...
- 注册免费试用12个月的亚马逊AWS云计算服务
注册: 注册地址 点击页面中间的创建免费用户,进入下一步页面: 然后就是填写各种个人信息的页面了: 填写付款信息: 付款信息会进行一个电话验证,这里需要先填写对应的电话号码和验证码,然后点立刻呼叫我, ...
- AWS 存储服务(三)
目录 AWS S3 业务场景 挑战 解决方案 S3的好处 S3 属性 存储桶 Buckets 对象 Object S3 特性 S3 操作 可用性和持久性 一致性 S3 定价策略 S3高级功能 存储级别 ...
- AWS S3服务使用
AWS S3是亚马逊的一种文件存储服务使用方便. 一.配置服务 public static class AWS_S3ClientInfo { private static readonly strin ...
- 基于php的AWS存储服务
近几天用到了aws的s3存储服务,公司内部的完全兼容aws并对其进行了封装,之前也用过,现在把经验总结一下. 既然要用,首先需要安装sdk,下边提供了几种安装方法 方法一:使用composer安装 1 ...
随机推荐
- MongoDB 复制集监控
1.复制集状态查询:rs.status() 2.查看当前副本集oplog状态:rs.printReplicationInfo() 3.查看复制延迟:rs.printSlaveReplicationIn ...
- shell脚本编程之条件判断
条件测试类型: 整数测试 字符测试 文件测试 条件测试的表达式的三种方法: 1.[ expression ] 命令测试 2.[[ expression ]] 关键字测试 3.test expressi ...
- (3)Go运算符
运算符 Go 语言内置的运算符有: 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 算数运算符 运算符 描述 + 相加 - 相减 * 相乘 / 相除 % 求余 注意: ++(自增)和--(自 ...
- Filter中实现页面转发
在过滤器中实现页面转发时,报错 java.lang.IllegalStateException:Cannot forward after response has been committed 转发代 ...
- Java SpringBoot全局错误处理类,返回标准结果
package demo.utils; import com.alibaba.fastjson.JSON; import demo.controller.ProductController; impo ...
- GO语言strconv包的使用
Go语言中strconv包实现了基本数据类型和其字符串表示的相互转换. strconv包 strconv包实现了基本数据类型与其字符串表示的转换,官方文档中文版. string与int类型转换 Ato ...
- V语言 基本使用
新手必看-如何安装配置vlang运行环境(linux,macOS篇) 前置条件 发稿截止前只有Linux 或者 macOS系统能编译通过. 你需要安装clang或gcc 如果是macOS上需运行xco ...
- Oracle语法 及 SQL题目(三)
目录 SQL题目六 第一个问题思路(查询酒类商品的总点击量) 第二个问题思路(查询每个类别所属商品的总点击量,并按降序排列) 第三个问题思路(查询所有类别中最热门的品种(点击量最高),并按点击量降顺序 ...
- Java多线程相关的API方法以及作用摘要
wait() 会让当前运行线程 阻塞,并释放对应的对象锁, 一般由当前线程持有的对象锁调用 x.wait(): 当前线程必须拥有此对象的monitor(即锁),才能调用此对象的wait()方法能让当前 ...
- Python ( )、[ ]、{}的区别
python语言最常见的括号有三种,分别是:小括号( ).中括号[ ]和大括号也叫做花括号{ },分别用来代表不同的python基本内置数据类型. python中的小括号( ):代表tuple元组数据 ...