
Spark
不羁之心
用数学观察世界,用数据描绘生活。
展开
-
SparkMLlib稀疏矩阵
SparkMLlib中关于矩阵的东西还是比较好理解的,不过在本地矩阵中,有个东西叫稀疏矩阵在理解方面可能会有些问题,所以单独提出来一下。1.什么是稀疏矩阵?这个东西我觉得百度说的挺清楚了,尤其是下面这张图很容易理解 左边这个叫稀疏矩阵,右边这个叫密集矩阵 简单的理解,就是0在矩阵中的数量是多还是少的事情。2.Spark中的稀疏矩阵SparkMLlib中的稀疏矩阵写法是这样的 val sm:原创 2017-12-21 11:03:39 · 2354 阅读 · 0 评论 -
Spark一些常用的数据处理方法-2.MLlib基础统计方法
SparkMLlib中会经常对RDD用到统计方法,其用法如下1.1 基础加载包 //向量 import org.apache.spark.mllib.linalg.Vector //向量集 import org.apache.spark.mllib.linalg.Vectors //稠密向量 import org.apache.spark.mllib.linalg.DenseVecto原创 2017-12-22 16:35:55 · 806 阅读 · 0 评论 -
Spark一些常用的数据处理方法-1.RDD计算
在Spark实际应用中,会用到很多数值处理方法,我将一些比较常用的方法写在这里,供新手向的学习参考一下。RDD的计算1.1 读取文件至RDD var rdd = sc.textFile("文件路径") var rddfromhdfs = sc.textFile("hdfs://hadoop-master-001:9000/hdfs文件路径") 这个当中有很多方法,比较常用的是 //返原创 2017-12-21 15:29:59 · 1674 阅读 · 0 评论 -
Spark一些常用的数据处理方法-3.MLlib的模型(还没写完)
因为mllib属于基础库,且本系列主要作为普及性文章,所以我不打算更新相关原理及其数学关系,有兴趣自学的童鞋可以去网上翻,基本原理都是一样的。3.1 什么叫模型我理解的模型,就是对现实业务的一种数字化抽象。它既可以是一套数学公式的各种参数组合,也可以是一种多维向量的数字化呈现,就是特征与数量的关系。3.2 MLlib模型转为PMML模型PMML模型就相当于数据库中的csv文件之类的东西,所有支持标准原创 2017-12-25 09:15:19 · 1006 阅读 · 0 评论 -
Spark一些基础原理——Job
背景知识:Spark基本工作原理、RDDlv0一个典型的Job是由以下过程组成:从数据源(Data blocks)加载生成RDD(每个数据分片Partition一般是128M,最后一条记录横跨2个blocks),后将RDD经过一系列转换(包括基本类型转换和洗牌)最终得到计算结果(result),再将结果汇总到driver端。往往由Action触发,每个Action对应一个Job。(后接1-...原创 2018-07-23 15:13:27 · 1283 阅读 · 0 评论 -
Spark一些基础原理——资源调度
自学知识:RDD的生命周期,DAG任务调度lv0在Spark中,资源调度是Master负责管理的,Worker通过注册的形式在Master注册相关资源。而在执行过程中,是通过sc即Driver向Master申请计算资源(Master根据集群设置启动不同的Driver,对于Standalone而言Driver是在提交任务的本地环境,而对于Cluster而言是由Master分配到某一个Work...原创 2018-07-23 16:12:43 · 278 阅读 · 0 评论 -
Spark一些基础原理——Cache
lv0cache是Spark程序设计中比较重要的一环,是对RDD的中间结算结果进行持久化,截断RDD的血统,这种持久化一般是多副本形式存在的。在Task发生调用RDD的compute计算时,其通过iterator进行计算,它会识别是否有缓存数据可以调用,如果没有则通过RDD继续计算;如果有则BlockManager从Local或者Remote获取数据,没获取到再检查checkpoint中的数据...原创 2018-07-24 14:45:18 · 521 阅读 · 0 评论 -
Spark一些基础原理——Shuffle
自学背景知识:Spark基本工作原理Job、Task、Stage、MapReducelv0Shuffle(洗牌)是介于MapReduce框架的中间阶段,Map负责实现其写入,Reduce实现其读取。大致过程就是将Map在内存中的缓存进行分区、排序、溢出到磁盘的数据进行抓取合并以重新持久化到磁盘与内存中,便于执行Reduce任务。(后接lv1-1) 其任务执行过程是在Stage阶段判断是否...原创 2018-07-20 16:03:08 · 541 阅读 · 0 评论 -
基于内存的分布式文件存储系统Alluxio
如果是只有字段缓存的话,redis应该是够用了。但是如果涉及到大量文件,尤其是用hdfs作为底层存储结构的,建议用alluxio升级一下。一方面有利于spark资源控制,另一方面也可以统一入口便于扩展。本文只涉及集群环境下一个简单小集群的搭建,详细用法见官方文档http://www.alluxio.org/docs/master/cn/Running-Alluxio-on-a-Cluster....原创 2018-07-26 14:43:05 · 2523 阅读 · 0 评论