spark 高级数据分析的代码的下载地址:https://github.com/sryza/aas
(数据应用) 就像香肠,最好别看见它们是怎么做出来的。
第一章:大数据分析
用数个千个特征和数十亿个交易来构建信息卡欺诈模型。
向数百万用户智能地推荐数百万产品。
通过模拟包含数百万金融工具的投资组合来评估金融风险。
轻松地操作成千上万的人类基因的相关数据发现致病基因
大数据时代:指我们拥有收集,存储,处理大量信息的工具,而这些信息的规模以前我们闻有未闻。这些能力的背后是许多开源软件组成的生态系统。它们能够利用大量普通计算机处理大规模数据。
数据科学则是利用将原始数据变成对不懂数据科学的普通人有价值的东西。
数据加模式并用sql来回答问题,
数据科学面临的挑战,数据科学主要工作
1、成功的分析中绝大部分工作是数据预处理。数据清洗、处理、融合、挖掘和许多其他操作。一般情况下,即使在模型调优阶段,在整个数据处理管理各个作业中,花在特征提取和选择上的时间比选择和实现算法的时间还要多。
比如在构建网站欺诈交易检测模型时,数据科学家需要从许多可能的特征中进行选择。这些特征转换成适用于机器学习算法向量时,每个特征可能都会有不同的问题。
2、迭代与数据科学紧密相关。建模与分析经常需要对一个数据集进行多次遍历。这其一方面是由机器学习算法和统计过程本身造成的。
比如随机梯度下降和最大拟然估计,在收敛前都需要多次扫描输入数据。
3、构建完表现卓越的模型不等于大功造成。 数据推荐引擎和实时欺诈系统是最常见的数据应用。这些应用中模型作为生产服务一部分,需要定期甚至实时重建。如果用于建模的原始代码也可用于生产应用,那就能节省每个人的时间。但像 R
之类的语言运行缓慢, 很难将其与生产基础设施的技术平台进行集成,而 Java 和 C++ 之类的语言又很难用于探索式分析。 它们缺乏交互式数据操作所需的 REPL(Read-EvaluatePrint-Loop,读取 - 计算 - 打印 - 循环)环境, 即使是简单的转换, 也需要写大量代码。人们迫切需要一个既能轻松建模又适合生产系统的框架
真正让分布式编程进入寻常百姓家的开源软件是,spark是第一个。
spark引擎可能执行更通用的dag算子。弹性分布式数据集(RDD)抽象使用开发人员将流水处理。spark 也适用于reactive应用。这些应用需要大量内存数据并快速响应用户的查询。
它独立于统计学,机器学习或矩阵代数的任何功能。
spark支持的数据集avro和parquest
第2章 用Scala和spark进行数据分析
编写spark程序通常包括一系列相关步骤:
在输入数据集上定义一组转换
调用action,用以将转换后数据集保存到持久存储上,或者把结果返回驱动程序的本地内存。
运行本地计算,本地计算处理分布式计算的结结。本地计算有助于你确定下一步的转换和action
spark框架提供两种抽象:存储和执行。
记录关联问题: