五种最经常使用的组件使得这一技术成文可能 web
• Apache Kafka 算法
• Apache Flume 数据库
• Apache Spark 安全
• Apache Kudu 架构
• Apache Impala 工具
式、多客户端支持、实时等特性 oop
• 常规的消息收集 性能
• 网站活性跟踪 大数据
• 聚合统计系统运营数据(监控数据) 优化
• 日志收集
• 其它大量数据的互联网服务的数据收集场景
实现Log & Event 的聚合
• 从多种系统(sources)获取数据,并写入到多种目标系统
• 内建 sources, sinks, 及channels,开发集成简单
• 定制化的工做流能够用来快速转换数据
• 可使用Cloudera Manager进行集中的管理和监控
• 日志采集室Flume的主要应用场景,和其余日志采集工具相比,Flume最大的优点是?供了大量现成的Source和Sink,用户只须要简单的配置便可实现日志采集和加载的工做
• Kafka 能够被配置为 Flume 的Channel
• Flume Sources 和 Sinks 能够配置成Kafka的Consumer和Producer
Flume Sources Consume fromKafka:Write data to HDFS, HBase, or Search
Flume Sinks 把书架写入Kafka:读取logs, files, jms, http, rpc, thrift 等数据源并把事件数据写入到Kafka
• Spark Streaming接收实时的输入数据流,而后将这些数据切分为批数据供Spark引擎处理,Spark引擎将数据生成最终的结果数据。
• 使用DStream从Kafka和HDFS等源获取连续的数据流,Dstreams由一系列连续的RDD组成,每一个RDD包含肯定时间间隔的数据,任何对Dstreams的操做都转换成对RDD的操做
Spark streaming 依赖spark的调度架构
• Task失败以后能够从新运行
• 数据源接收以后会多备份一份
• 实现exactly-once
• 不能确保顺序执行
Spark Streaming的优点在于:
• 能运行在100+的结点上,并达到秒级延迟。
• 使用基于内存的Spark做为执行引擎,具备高效和容错的特性。
• 能集成Spark的批处理和交互查询。
• 为实现复杂的算法提供和批处理相似的简单接口。
目前而言SparkStreaming 主要支持如下三种业务场景无状态操做:
• 只关注当前的DStream中的实时数据,例如 只对当前DStream中的数据作正确性校验
• 有状态操做:对有状态的DStream进行操做时,须要依赖以前的数据 例如 统计网站各个模块总的访问量
• 窗口操做:对指定时间段范围内的DStream数据进行操做,例如 须要统计一天以内网站各个模块的访问数量
kudu是高效分析快数据的存储格式
• Hadoop平台支持数据修改的新的列式存储格式
• Apache许可,100%开源
• 当前为Beta版本,2016年一季度GA
机械硬盘 -> 固态硬盘
• NAND 闪 存:读数据时IOPS达到45万个,写数据时IOPS达到25万个,读数据的吞吐率约为每秒2GB,写数据的吞吐率达到每秒1.5GB, 存储成本低于每GB3美圆而且持续降低
• 3D XPoint memory (比NAND快1000倍, 比RAM更有成本优点)
内存成本更低,单机内存量更大 :
• 过去几年64->128->256GB
• 启示 1: CPU 将成为性能瓶颈,当前的存储系统设计时并无考虑高效使用
CPU.
• 启示 2: 列式存储也能够用于随机访问
扫描大数据量时吞吐率高(列式存储和多副本机制)
目标 : 相对Parquet的扫?性能差距在2x以内
访问少许数据时延时低(主键索引和多数占优复制机制)
目标 : SSD上读写延时不超过1毫秒
相似的数据库语义(初期支持单行记录的ACID)
关系数据模型
• SQL查询
• "NoSQL"风格的扫?/插入/更新(Java客户端)
• 有限的列数 (不一样于HBase/Cassandra)
• 数据类型: BOOL, INT8, INT16, INT32, INT64, FLOAT, DOUBLE, STRING, BINARY,TIMESTAMP
• 一部分列构成联合主键
• ALTER TABLE快速返回
• Insert(), Update(), Delete(), Scan()
• 将对接更多处理引擎!
主要适用于分析型应用,数据探索以及交互式自助查询/分析
运营KPI 仪表盘
案例: 医疗保险
业务场景:
• 可视化展示当前医院各项话费指标以及历史趋势
• 集成并整合了1000+医院的系统数据
效益:
• 支持大规模数据处理,容许用户查询历史数
据以及下钻到更细粒度数据
• 节省了传统数据库许可证的费用
• 更好的查询性能
实时SQL 数据探索
案例: 银行
业务场景:
• 发现内部/外部的欺诈行为
• 分析内外部系统的应用/web日志
效益:
• 支持对非结构化数据的分析
• 使用现有的BI工具
• 使用现有Hadoop继续,无需搬迁数据到外部的数据库系统