Spark高级数据分析· 2数据分析

wget https://archive.ics.uci.edu/ml/machine-learning-databases/00210/donation.zip

数据清洗

cd /Users/erichan/garden/spark-1.6.0-bin-hadoop2.6/bin
./spark-shell --master local

val data ="/Users/erichan/AliDrive/ml_spark/data/linkage"
val rawblocks = sc.textFile(data)
//rawblocks.count()
//res0: Long = 6552407
//val head = rawblocks.take(10)

val noheader = rawblocks.filter(l => !l.contains("id_1"))

noheader.filter(l => l.contains("cmp_fname_c1")).foreach(println)

//noheader.count()
//res1: Long = 6552396

case class MatchData(id1: Int, id2: Int, scores: Array[Double], matched: Boolean)

def toDouble(s: String) = {
  if ("?".equals(s)) Double.NaN else s.toDouble
}
def parse(line: String) = {
  val pieces = line.split(',')
  val id1 = pieces(0).toInt
  val id2 = pieces(1).toInt
  val scores = pieces.slice(2, 11).map(toDouble)
  val matched = pieces(11).toBoolean
  MatchData(id1, id2, scores, matched)
}
val parsed = noheader.map(line => parse(line))

val matchCounts = parsed.map(md => md.matched).countByValue()
val matchCountsSeq = matchCounts.toSeq

import java.lang.Double.isNaN
val stats = (0 until 9).map(i => {
  parsed.map(md => md.scores(i)).filter(!isNaN(_)).stats()
})
时间: 2024-08-01 19:11:23

Spark高级数据分析· 2数据分析的相关文章

【问底】许鹏:使用Spark+Cassandra打造高性能数据分析平台(二)

[导读]笔者( 许鹏)看Spark源码的时间不长,记笔记的初衷只是为了不至于日后遗忘.在源码阅读的过程中秉持着一种非常简单的思维模式,就是努力去寻找一条贯穿全局的主线索.在笔者看来,Spark中的线索就是如何让数据的处理在分布式计算环境下是高效,并且可靠的. 在对Spark内部实现有了一定了解之后,当然希望将其应用到实际的工程实践中,这时候会面临许多新的挑战,比如选取哪个作为数据仓库,是HBase.MongoDB还是Cassandra.即便一旦选定之后,在实践过程还会遇到许多意想不到的问题. 要

《Spark与Hadoop大数据分析》——1.3 工具和技术

1.3 工具和技术 让我们来看看在 Hadoop 和 Spark 中用于大数据分析的不同工具和技术. 虽然 Hadoop 平台可以用于存储和处理数据,但 Spark 只能通过将数据读入内存来进行处理. 下表展示了典型大数据分析项目中所使用的工具和技术.

Spark高级数据分析· 3推荐引擎

推荐算法流程 推荐算法 预备 wget http://www.iro.umontreal.ca/~lisa/datasets/profiledata_06-May-2005.tar.gz cd /Users/erichan/garden/spark-1.6.0-bin-hadoop2.6/bin ./spark-shell --master local --driver-memory 6g 1 准备数据 val data ="/Users/erichan/AliDrive/ml_spark/da

Spark高级数据分析· 6LSA

潜在语义分析 wget http://dumps.wikimedia.org/enwiki/latest/enwiki-latest-pages-articles-multistream.xml.bz2 1 获取数据 def readFile(path: String, sc: SparkContext): RDD[String] = { val conf = new Configuration() conf.set(XmlInputFormat.START_TAG_KEY, "<page

《Spark与Hadoop大数据分析》——2.2 Apache Spark概述

2.2 Apache Spark概述 Hadoop和MR已有10年历史,已经被证明是高性能处理海量数据的最佳解决方案.然而,MR在迭代计算中性能不足,在这种情况下,多个MR作业之间的输出必须被写入 HDFS.在单个MR作业中,它的性能不足则是因为MR框架存在的一些缺点所致. 让我们来看看计算趋势的发展历史,以便了解计算的格局在过去20年中的变化. 这个趋势是当网络成本更低时(1990年代)对URI索引(Reference),当存储成本更低时(2000 年代)进行复制(Replicate),以及当

《Spark与Hadoop大数据分析》——1.1 大数据分析以及 Hadoop 和 Spark 在其中承担的角色

1.1 大数据分析以及 Hadoop 和 Spark 在其中承担的角色 传统的数据分析使用关系型数据库管理系统(Relational Database Management System,RDBMS)的数据库来创建数据仓库和数据集市,以便使用商业智能工具进行分析.RDBMS 数据库采用的是写时模式(Schema-on-Write)的方法,而这种方法有许多缺点. 传统数据仓库的设计思想是用于提取.转换和加载(Extract, Transform, and Load,ETL)数据,据此回答与用户需求

《Spark与Hadoop大数据分析》一一

3.1 启动 Spark 守护进程 如果你计划使用 Standalone 的集群管理器,则需要启动 Spark 的主机(master)和工作机(worker)的守护进程(daemon),它们是 Spark 架构的核心组件.守护进程的启动/停止在不同的发行版里略有差异.Hadoop 发行版(如 Cloudera.Hortonworks 和 MapR)会把 Spark 作为服务,并把 YARN 作为默认的资源管理器.这意味着在默认情况下所有 Spark 应用程序都会在 YARN 框架上运行.但是,要

《Spark与Hadoop大数据分析》一一第1章 从宏观视角看大数据分析

第1章 从宏观视角看大数据分析 本书的目标是让你熟悉 Apache Spark用到的工具和技术,重点介绍Hadoop平台上使用的Hadoop部署和工具.大多数Spark的生产环境会采用Hadoop集群,用户在集成 Spark和Hadoop配套的各种工具时会遇到很多挑战.本书将讲解Hadoop分布式文件系统(Hadoop Distributed File System,HDFS)和另一种资源协商器(Yet Another Resource Negotiator,YARN)面临的集成挑战,以及Spa

《Spark与Hadoop大数据分析》一一导读

Preface 前 言 本书讲解了Apache Spark和Hadoop的基础知识,以及如何通过简单的方式将它们与最常用的工具和技术集成在一起.所有Spark组件(Spark Core.Spark SQL.DataFrame.Dataset.Conventional Streaming.Structured Streaming.MLlib.GraphX和Hadoop核心组件).HDFS.MapReduce和Yarn 都在 Spark + Hadoop 集群的实现示例中进行了深入的探讨. 大数据分