自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (2)
  • 收藏
  • 关注

原创 Spark程序优化及常见报错问题分析

在实际的基于Spark平台的大数据分析项目中,为提高程序的运行效率,对程序进行优化是必不可少的,本文基于个人在大数据项目中使用Spark进行编程实现的实践经历,针对Spark程序优化问题进行总结,具体内容如下所述。1. 代码层优化(1)避免创建多个相同的RDD对象 (2)DAG划分的多个stage中存在相同的RDD对象,则需要将该RDD对象进行缓存,避免重复计算。 (3)代码中存在大小...

2018-03-12 15:23:39 886

原创 Python连接Hbase操作

Python连接Hbase主要借助第三方软件thrift实现,具体操作步骤: 1)安装thrift wget http://mirror.bit.edu.cn/apache/thrift/0.10.0/thrift-0.10.0.tar.gz tar zvxf hrift-0.10.0.tar.gz cd hrift-0.10.0 ./configer sudo make &a...

2018-03-17 17:37:52 2721 1

原创 Python2.x与Python3.x的主要区别

python2.x和python3.x版本有很大的差异,除了依赖包的名称变化很大外,其主要差异总结如下: 1)print函数 Python3中,print函数的括号是必须的,Python2是可选的。2)键盘读取输入方面 Python3只保留input()函数,且输入数据全部作为字符串处理;Python2还支持row_input()函数,input()函数在处理输入数字的过程中,若输入的数...

2018-03-17 17:33:54 8979

原创 解决Python工程依赖包无法自动安装的问题(Linux环境下)

Python一般是通过pip install的方式自动安装工程依赖包,但有些情况下自动安装出错,则可通过以下几种方式解决。 1、半自动安装: 1)找到安装包对应的下载网址 2)pip install –egg url 比如:mysql-connector-python 包的安装 pip install –egg http://dev.mysql.com/get/Downloads/C...

2018-03-17 17:23:05 2967

原创 Python中文分词包:jieba分词

一、 基本功能: import jieba jieba._pcut(str), 生成的结果未做词性标注 jieba.posseg.cut(str,HMM=False) 生成的结果已做词性标注,HMM为隐马尔科夫模型,用于未登陆词(在词典中未出现过)的识别二、词库更新 (重新加载后失效,如需永久更改,可更换词典文件或者在现有词典文件中编辑更改) 1)增加自定义...

2018-03-17 17:12:40 1146

原创 Python工程编译成跨平台可执行文件(.pyc)

在某些场景下,若不方便将python编写的源码工程直接给到其他人员,则可以将python工程编译成跨平台可执行文件(.pyc)解决。 具体操作如下: import py_compile import compileall py_compile.compile(r”e:/ROSE_MuliDevice/SemanticAPI.py”) #—单个py文件 compileall.compil...

2018-03-17 16:59:43 2207

原创 Python环境安装(ubuntu系统)

Linux系统默认安装了python环境,但一般是python2+版本,如果项目需要python3+的版本,则需要自己安装。python环境的安装相对比较简单,具体包括如下几个步骤:(以Python3.5.2版本安装为例) 1)、下载指定版本的源文件 sudo wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz 2)、解...

2018-03-17 16:50:43 364

原创 Linux环境下修改或指定python的默认版本

需求:原来默认版本为python3.6, 现修改成2.7版本 指令如下:(登录用户需要有sudo权限) sudo mv /usr/bin/python /usr/bin/python3.6 先备份原先的一份 sudo ln -s /usr/bin/python2.7 /usr/bin/python (/usr/bin/python不能覆盖)...

2018-03-17 16:30:54 5859 3

原创 模型评价指标

机器学习模型中常见的是分类问题,分类模型的评价指标主要有: (1)精确率 (2)召回率 (3)F值 (4)AUC值(ROC曲线) 分类问题可划分成二分类和多分类问题,其中二分类最为常见,多分类问题大都也是转化成二分类问题求解,因此本文主要基于二分类模型进行模型评价指标的分析。 1)给定标记好的模型训练数据,经分类模型输出的结果为混淆矩阵,具体如下: Precision : P =...

2018-02-13 11:59:08 1387

原创 聊聊推荐系统的相似度计算方法

个性化推荐系统的各种推荐算法中,大都会涉及用户或物品间的相似度计算,相似度计算方法也是推荐算法的核心之一,传统的推荐算法(如协同过滤、基于物品的推荐等)采用的相似度计算公式主要有:余弦夹角、欧氏距离、杰卡德系数和皮尔森相关系数等,那么这些方法具体有哪些差异,在推荐算法中该如何选择,下面将着重基于这两个方面进行分析说明。 1)余弦夹角 和 欧氏距离 在向量空间中,任意两点(设为A、B)间的关系可...

2018-02-13 10:14:53 14961 2

原创 Spark 的Shuffle过程详解

一、Shuffle的作用是什么?Shuffle的中文解释为“洗牌操作”,可以理解成将集群中所有节点上的数据进行重新整合分类的过程。其思想来源于hadoop的mapReduce,Shuffle是连接map阶段和reduce阶段的桥梁。由于分布式计算中,每个阶段的各个计算节点只处理任务的一部分数据,若下一个阶段需要依赖前面阶段的所有计算结果时,则需要对前面阶段的所有计算结果进行重新整合和分类,这就

2018-01-15 17:49:53 12895 4

原创 Spark中groupByKey与reduceByKey算子之间的区别

Spark程序中的shuffle操作非常耗时,在spark程序优化过程中会专门针对shuffle问题进行优化,从而减少不必要的shuffle操作,提高运行效率;但程序中有些逻辑操作必须有shuffle操作才能完成,常见的如groupByKey、reduceByKey操作等。上述两个算子是Spark处理(key,value)类型数据最常用到的函数,那么这两个算子有什么区别,在使用时该如何选择?下面从p

2017-11-19 21:30:18 3484 1

原创 spark-submit 指令详解

编写好的Spark程序一般通过Spark-submit指令的方式提交给Spark集群进行具体的任务计算,Spark-submit指令可以指定一些向集群申请资源的参数(也可直接在Spark程序代码中指定,参数生效的优先级最高),在Linux环境下,可通过spark-submit –help 了解spark-submit指令的各种参数说明,截图如下: 案例(Python任务提交): spark-s

2017-10-31 16:52:02 14383 1

原创 ALS推荐算法理解及Spark编程实现

前言ALS(alternating least squares)是交替最小二乘的简称,在机器学习上下文中特指基于交替最小二乘求解的协同过滤推荐算法。Spark1.3版本的MLlib库中增加了对ALS算法的支持,因此,在实际项目中可通过Spark的MLlib库调用ALS算法实现协同过滤推荐。ALS的基本原理ALS属于SVD++算法中的一种,其理论基础源于SVD(奇异值分解),即任何一个矩阵均可分解成两

2017-10-21 18:14:43 2465

原创 推荐系统及其核心内容理解

前言这段时间一直在做个性化视频推荐系统项目,但主要精力都集中在算法实现和优化上面,对推荐系统并没有一个整体的认识,于是趁着空余时间整理了之前搜集的一些相关的资料并结合自己的理解,针对推荐系统从以下几个方面进行简单的总结阐述,里面的部分内容都是来源《推荐系统实践》这本书,若有错误,望指正。1、什么是推荐系统?关于这个问题,我非常认同项亮《推荐系统实践》这本书中提到的观点,即推荐系统是解决用户面临的信息

2017-10-19 23:28:44 3002

原创 Hive实现数据抽样的三种方法

在大规模数据量的数据分析及建模任务中,往往针对全量数据进行挖掘分析时会十分耗时和占用集群资源,因此一般情况下只需要抽取一小部分数据进行分析及建模操作。Hive提供了数据取样(SAMPLING)的功能,能够根据一定的规则进行数据抽样,目前支持数据块抽样,分桶抽样和随机抽样,具体如下所示:数据块抽样(tablesample()函数) 1) tablesample(n percent) 根据hive表

2017-10-19 22:31:50 48238 2

原创 Spark RDD操作总结

前言 Spark的核心抽象是RDD,Spark程序中RDD对象无处不在,因此在基于Spark进行编程开发之前,需要对RDD的特征和基本操作有所了解,以便能顺利进行Spark程序的编程开发。RDD创建方式 sc =sparkConte

2017-09-29 15:49:53 1179

原创 Spark及其核心概念理解

Spark是什么 Spark是UC Berkeley AMP lab (美国加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce通用并行计算处理框架,是专为大规模数据处理而设计的快速通用的计算引擎。可以说,spark是对Hadoop大数据处理技术的延续和发展,既继承了hadoop分布式并行处理的相关理念,同时也解决了目前Hadoop存在的一些问题,比如MapReduc编程比

2017-09-23 22:05:29 1231

原创 Hive常见问题及处理方法

Hive是什么 Hive是基于Hadoop的一个数据仓库工具,应该是整个Hadoop系统中最常使用的一个功能组件,通过内部的关系型元数据库,将存储在hdfs中的文件有效的管理起来,并提供类SQL的数据库操作语言,满足大数据集的统计分析工作。关于Hive的架构原理和基本操作部分,可以参考如下这篇文章[这里写链接内容](http://www.cnblogs.com/wangrd/p/6275162.h

2017-09-15 15:14:07 1952

原创 Hadoop关键技术理解

Hadoop关键技术理解前言大数据这几年特别火,从学校毕业后的工作也是和大数据相关的,但大数据具体是什么,有些什么关键技术?遇到有人问我这个问题的时候,只能说出比较有代表性的专有名词,如大数据的四个“V”以及hadoop, spark,storm等等,所以工作之余自己就查查资料,总结了一下对Hadoop关键技术的理解。Hadoop Hadoop的具体定义在网上一搜一大把,其关键技术主要是HDF

2017-09-08 17:53:24 2030

java实例入门源码+pdf书

刘勇的java实例入门 包含pdf格式的书和实例源码。很适合初学者用!在网上找了好久,终于是找到了。特拿来分享给大家!

2012-08-07

全文检索原理及Lucene实之搜索

LucenLucene实现索引和搜索的过程

2012-03-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除