- 博客(14)
- 资源 (5)
- 收藏
- 关注
原创 Spark源码分析之Rpc
RPC(Remote Procedure Call)即远程程序调用,它是分布式项目的基础环境,Spark RPC被deploy、scheduler、shuffle、storage等多个模块使用,是理解这些模块的前提。最初是基于akka的actor实现,在spark1.4标准了Rpc的相关接口,并在Spark 1.6+推出了以RPCEnv、RPCEndpoint、RPCEndpointRef为核心的新
2017-12-29 15:56:08 340
原创 Spark源码分析之Spark执行环境SparkEnv
SparkEnv是创建SparkContext中的第一步,也是很重要的一环,它Spark 的执行环境对象,其中包括众多与Executor 执行相关的对象。由于在local 模式下Driver 会创建Executor,cluster 部署模式或者Standalone 部署模式下Worker 另起的CoarseGrainedExecutorBackend 进程中也会创建Executor,所以SparkE
2017-12-28 18:11:43 487
原创 协同过滤之ALS算法
ALS 是交替最小二乘 (alternating least squares)的简称。在机器学习的上下文中,ALS 特指使用交替最小二乘求解的一个协同推荐算法。它通过观察到的所有用户给产品的打分,来推断每个用户的喜好并向用户推荐适合的产品。从协同过滤的分类来说,ALS算法属于User-Item CF,也叫做混合CF。它同时考虑了User和Item两个方面。用户和商品的关系,可以抽象为如下的三元组:<
2017-12-27 11:10:53 8484
原创 cloudera manager 升级到jdk1.8
CDH5.11自带的是spark1.6,在把spark升级到2.2之后,添加服务,执行服务 Spark 2 上的命令 部署客户端配置阶段报错。 查看日志: JAVA_HOME=/usr/java/jdk1.7.0_67-cloudera/ Using -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp/spark2_on_yarn_
2017-12-26 16:13:01 5309 1
原创 Spark ML 之 特征选择,提取,转换工具
数据挖掘算法中有很大一部分都是数据预处理工作,毕竟现有模型都是比较成熟的,只需要学会调用就好,如何把原始数据转化为算法模型适用的数据结构也是很重要的一步。spark ML中提供了对特征的提取(Extracting),转换(transforming)和选择(selecting)工具。特征提取:从原始数据中提取特征特征转换:特征的扩展,特征的转化,特征的修改特征选择:从大规模特征集中选取一个子集
2017-12-19 11:13:22 3248
原创 Spark ML 之 RDD to DataFrame (python版)
由于工作需要,最近开始用Python写Spark ML程序,基础知识不过关,导致一些简单的问题困扰了好久,这里记录下来,算是一个小的总结,说不定大家也会遇到同样的问题呢,顺便加一句,官方文档才是牛逼的,虽然我英语很菜。先说下我的需求,使用Iris数据集来训练kmeans模型,Iris是UCI上面一个很著名的数据集,通常用来做聚类(分类)等测试。Iris.txt: http://archive.ics
2017-12-15 11:21:28 4063
原创 Spark ML简介之Pipeline,DataFrame,Estimator,Transformer
MLlib是Spark的机器学习(Machine Learning)库,旨在简化机器学习的工程实践工作,并方便扩展到更大规模。MLlib由一些通用的学习算法和工具组成,包括分类、回归、聚类、协同过滤、降维等,同时还包括底层的优化原语和高层的管道API。具体来说,其主要包括以下几方面的内容:学习算法:如分类、回归、聚类和协同过滤等特征化工具:特征提取、转化、降维,和选择工具管道(Pipeline
2017-12-15 10:04:32 3726
原创 spark mllib 之 Pipeline工作流构建
Spark 机器学习库从 1.2 版本以后被分为两个包spark.mllib 包含基于RDD的原始算法API。Spark MLlib 历史比较长,在1.0 以前的版本即已经包含了,提供的算法实现都是基于原始的 RDD。spark.ml 则提供了基于DataFrames 高层次的API,可以用来构建机器学习工作流(PipeLine)。ML Pipeline 弥补了原始 MLlib 库的不足,向用户
2017-12-12 17:45:33 719
原创 Python 数值计算 遇到的错误总结
def convert(s): # conver = {b'Iris-setosa': 0, b'Iris-versicolor': 1, b'Iris-virginica': 2} conver = {"Iris-setosa": 0, "Iris-versicolor": 1, "Iris-virginica": 2} return conver[s]def main()
2017-12-12 17:26:32 2155
原创 pyspark 遇到的问题
最近弄pyspark,想通过spark操作hdfs,遇到一些问题,记录下来!1。 刚看到这个问题的时候很懵逼,果断去查看了集群的防火墙,端口9000的状态,集群是否允许远程登录等问题,发现还是不行,重新换了一个自己本地配置的原生hadoop,居然可以正常连接,这样看来,问题出在CDH和Apache hadoop 的差异上了。 原因:CDH默认的hdfs端口是8020,而Apache hadoop的
2017-12-08 10:41:56 521
原创 linux 中文件(文件夹)的基本信息
Linux 是一个多用户的系统,不同的用户处于不同的地位,对于同一个文件具有不同的权限。Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。Linux中使用ll或者ls -l来显示目录下的所有文件的信息,ls -all 显示所有的信息。我们可以看到,每个文件信息可以分为几组,分别是:文件权限,文件的个数(如果是文件夹,就是文件夹下面文件的个数),文件所属的用户,文件所属的用户
2017-12-07 09:32:07 1571
转载 spark 通信机制
bute对于Network通信,不管传输的是序列化后的对象还是文件,在网络上表现的都是字节流。在传统IO中,字节流表示为Stream;在NIO中,字节流表示为ByteBuffer;在Netty中字节流表示为ByteBuff或FileRegion;在Spark中,针对Byte也做了一层包装,支持对Byte和文件流进行处理,即ManagedBuffer;ManagedBuffer是一个接口,包含了三个函
2017-12-06 17:23:23 2797
原创 kylin 维度优化,Aggregation Group,Joint,Hierachy,Mandatory等解析
众所周知,Apache Kylin 的主要工作就是为源数据构建 N 个维度的 Cube,实现聚合的预计算。理论上而言,构建 N 个维度的 Cube 会生成 2n2^n个 Cuboid, 如图 1 所示,构建一个 4 个维度(A,B,C, D)的 Cube,需要生成 16 个Cuboid。随着维度数目的增加,Cuboid 的数量会爆炸式地增长。为了缓解 Cube的构建压力,Apache Kylin
2017-12-04 10:39:12 3779
原创 kylin 官方案例learn_kylin手动创建测试
在上一篇文章中介绍了kylin相关的基本知识,这篇文章的主要目的是针对kylin初学者,进行一次详细的kylin案例介绍,这里,我们还是以官方给定的数据为例。说明,我用的是kylin2.1.0. 与kylin1.x 可能有不一样的地方。核心概念事实表和维度表事实表(Fact Table)是指存储有事实记录的表,如系统日志、销售记录等;事实表的记录在不断地动态增长,所以它的体积通常远大于其他表。维
2017-12-01 17:54:45 4095 1
Python计算机视觉配套的代码及数据
2018-01-26
常见聚类数据集人工数据和UCI数据都有
2018-01-26
Apache Spark源码剖析
2017-12-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人