数据一个很宽泛的定义,一切可以记录的都可以称之为数据.比如文字 视频 音频等.
大数据领域把数据分为三类:结构化数据 半结构化数据 和非结构化数据.一般我们处理结构化数据(mysql和oracle中的表)和半结构化数据(html和json格式),非结构数据(视频 音频)这个处理起来有难度,一般涉及人工智能领域.
大数据的价值体现三方面:增加收入 减少支出 控制风险
数据的作用:通过大数据分析我们可以清晰和提取有用的信息,然后从中寻找和总结规律,最终应用这些规律.
增加收入:比如电商领域可以通过用户的浏览记录分析,针对性推荐用户感兴趣的商品,从而达成订单.
减少支出:比如机票订购,我们可以通过大数据分析机票的价格曲线,推荐用户在什么时间购买最优惠
控制风险:银行系统可以通过大数据分析用户消费行为数据,提供用户贷款金额.
spark一种基于内存的大数据并行计算框架,正因为基于内存所以相比MapReduce来说速度非常快.
Hadoop中的MapReduce在计算中有一个shuffe的过程,需要进行大量的IO操作导致运行速度下降.
saprk组件包括 saprkcore sparksql sparkstreaming mlib graphx
sparkcore中的数据抽象是RDD(弹性分布式数据集)其中两种操作transformation(懒执行)和action(触发执行)算子
RDDs之间存在依赖关系分为宽依赖和窄依赖
spark的计算流程; 客户端提交jar=>master节点启动driver划分DAG有向无环图=>发送给DAG_scheduler=>划分stage和taskset=>发送给task_scheduler=>分解为一个一个的task=>最红运行在worker节点上的executor里面
saprksql中两个数据抽象是 dataframe和dataset. DS解决了DF在编译时期缺少安全检查的的问题
sparkstraming中的数据抽象是DStream 离散化数据流,因为数据计算是批处理的过程,以时间为对象0.1m的时间进行处理