自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(66)
  • 收藏
  • 关注

转载 Spark 名词解释

梳理一下Spark中关于并发度涉及的几个概念File,Block,Split,Task,Partition,RDD以及节点数、Executor数、core数目的关系。输入可能以多个文件的形式存储在HDFS上,每个File都包含了很多块,称为Block。当Spark读取这些文件作为输入时,会根据具体数据格式对应的InputFormat进行解析,一般是将若干个Block合并成一个输入分片,称为Inp

2017-08-31 19:46:03 874

原创 Spark编程进阶之共享变量

在向spark传递函数时,可以向驱动器中传递变量,但是集群中运行的每个任务都会得到这些变量的一个副本,跟新副本不会影响驱动器中的值。spark的两个共享变量,累加器和广播变量分别为结果聚合与广播这两种常见的通信模式突破了这一限制累加器查找包含电影信息包含1996这一信息出现的次数from pyspark import SparkContextsc=SparkContext("local","blan

2017-08-31 19:40:52 383

转载 python中字符串常用方法

str=’Python String function’生成字符串变量str=’python String function’字符串长度获取:len(str)例:print ‘%s length=%d’ % (str,len(str))一、字母处理全部大写:str.upper()全部小写:str.lower()大小写互换:str.swapcase()首字母大写,其余小写:str.capi

2017-08-29 11:56:40 1014

转载 python下划线

名称前的双下划线(如:__shahriar)名称(具体为一个方法名)前双下划线(__)的用法并不是一种惯例,对解释器来说它有特定的意义。Python中的这种用法是为了避免与子类定义的名称冲突。Python文档指出,“__spam”这种形式(至少两个前导下划线,最多一个后续下划线)的任何标识符将会被“_classname__spam”这种形式原文取代,在这里“classname”是去掉前导下划线的当前

2017-08-28 19:28:44 325

转载 python中defaultdict方法使用详解

默认值可以很方便 众所周知,在Python中如果访问字典中不存在的键,会引发KeyError异常(JavaScript中如果对象中不存在某个属性,则返回undefined)。但是有时候,字典中的每个键都存在默认值是非常方便的。例如下面的例子:strings = ('puppy', 'kitten', 'puppy', 'puppy', 'weasel', 'puppy', '

2017-08-28 19:25:39 1080

转载 python 基本数据类型简介

目录1、字符串2、布尔类型3、整数4、浮点数5、数字6、列表7、元组8、字典9、日期1、字符串1.1、如何在Python中使用字符串a、使用单引号(‘)用单引号括起来表示字符串,例如:str=’this is string’;print str;b、使用双引号(“)双引号中的字符串与单引号中的字符串用法完全相同,例如:str=”this is string”;print str;c、使用三引号

2017-08-28 16:57:41 328

转载 浅谈矩阵分解在推荐系统中的应用

推荐系统是当下越来越热的一个研究问题,无论在学术界还是在工业界都有很多优秀的人才参与其中。近几年举办的推荐系统比赛更是一次又一次地把推荐系统的研究推向了高潮,比如几年前的Neflix百万大奖赛,KDD CUP 2011的音乐推荐比赛,去年的百度电影推荐竞赛,还有最近的阿里巴巴大数据竞赛。这些比赛对推荐系统的发展都起到了很大的推动作用,使我们有机会接触到真实的工业界数据。我们利用这些数据可以更好地学习

2017-08-28 15:52:03 766 1

原创 spark键值对操作(二)之数据分区

1.数据分区为了减小分布式应用通信的代价,所以要控制数据分区以获得最小的网络传输 spark中所有键值对RDD都可以进行分区有如下这样的需求:需要对用户访问其未订阅页面 的情况进行统计,以更好的向用户推荐内容。现有一个很大的用户信息表(UserID,UserInfo)对组成的RDD,其中UserInfo包含一个该用户所订阅的主题列表,该应用会周期性与一个小文件(UserID,LinkInfo)组

2017-08-28 15:07:30 1767

原创 spark键值对操作(一)

键值对RDD也叫做Pair RDD1. 创建Pair RDD把一个普通 RDD转换为pair RDD的时候使用map()函数来实现#使用第一个单词作为一个键,创建一个pair RDDpairs=lines.map(lambda x:(x.split(" ")[0],x))2.Pair RDD转化操作2.1针对单个pairRDD的转换操作reduceByKey(func) 合并具有相同键的值rd

2017-08-28 11:49:11 1366

原创 Spark RDD基础(二)之常见的转化操作和行动操作及持久化

1.基本RDD操作1.1元素转化操作map() map接受一个函数,把这个函数用于RDD的每个元素,将函数的返回结果作为结果RDD中对应元素的值,map的返回值类型不需要和输入类型一样#计算RDD中各值的平方nums=sc.parallelize([1,2,3,4])squared=nums.map(lambda x:x*x).collect()for num in squared:

2017-08-27 20:05:30 3240

原创 Spark RDD基础(一)

spark对数据的核心抽象—弹性分布式数据集(Resilient Distributed Dataset)即RDD,RDD是一个不可变的分布式对象集合,每个RDD被分为多个分区。 在spark中,对数据的所有操作不外乎创建RDD,转化已有RDD以及调用RDD操作进行求值RDD基础#创建RDDlines=sc.textFile("README.md")#转化操作由一个RDD生成一个新的RDD#

2017-08-27 18:35:14 1083

转载 机器学习特征的正则化

1. The Problem of Overfitting 1 还是来看预测房价的这个例子,我们先对该数据做线性回归,也就是左边第一张图。 如果这么做,我们可以获得拟合数据的这样一条直线,但是,实际上这并不是一个很好的模型。我们看看这些数据,很明显,随着房子面积增大,住房价格的变化趋于稳定或者说越往右越平缓。因此线性回归并没有很好拟合训练数据。 我们把此类情况称为欠拟合(underfitting

2017-08-27 09:48:21 1262

原创 并发编程设计模式--Immutable Object

传统并发编程的问题: 锁的引入会带来很多的问题,如线程上下文切换开销,以及使编程本身变得复杂Immutable Object设计模式核心: 使用对外可见但的状态不可变的对象,使得对象天生具有线程安全性,而无需额外的同步控制问题: 什么是状态不可变的对象?1.类本身使用final修饰,防止子类修改定义的行为 2.所有字段都使用final修饰,保证字段值不可更改,并且被其它对象可见时必定是初始化

2017-08-27 09:46:32 405

转载 mongodb 常用命令

成功启动MongoDB后,再打开一个命令行窗口输入mongo,就可以进行数据库的一些操作。输入help可以看到基本操作命令:show dbs:显示数据库列表 show collections:显示当前数据库中的集合(类似关系数据库中的表) show users:显示用户use <db name>:切换当前数据库,这和MS-SQL里面的意思一样 db.help():显示数据库操作命令,里面

2017-08-22 12:02:50 308

转载 使用lua脚本编写访问次数限制

Redis在2.6推出了脚本功能,允许开发者使用Lua语言编写脚本传到Redis中执行。使用脚本的好处如下:1.减少网络开销:本来5次网络请求的操作,可以用一个请求完成,原先5次请求的逻辑放在redis服务器上完成。使用脚本,减少了网络往返时延。2.原子操作:Redis会将整个脚本作为一个整体执行,中间不会被其他命令插入。3.复用:客户端发送的脚本会永久存储在Redis中,意味着其他客户端可以复

2017-08-22 07:55:09 3967

转载 redis进阶

关键字:Redis的Java客户端Jedis的八种调用方式(事务、管道、分布式…)介绍 Tags: redis, jedis, 事务, 管道, 分布式, 连接池 redis是一个著名的key-value存储系统,而作为其官方推荐的java版客户端jedis也非常强大和稳定,支持事务、管道及有jedis自身实现的分布式。 在这里对jedis关于事务、管道和分布式的调用方式做一个简单的介绍和对比:

2017-08-20 16:10:53 314

转载 Mysql JDBC 的简单操作

目录前言:什么是JDBC一、准备工作(一):MySQL安装配置和基础学习二、准备工作(二):下载数据库对应的jar包并导入三、JDBC基本操作(1)定义记录的类(可选)(2)连接的获取(3)insert(4)update(5)select(6)delete四、测试五、代码分析六、思考问题  前言:什么是JDBC  维基百科的简介:  Java 数据库连接,(Java

2017-08-20 10:39:55 366

原创 线程池初探

1. 线程池存在的问题1.提交到线程池的任务避免依赖于其他的任务,否则对线程池的执行策略带来了约束,出现活跃度的问题 2.对于时间敏感的操作,比如GUI应用,将一个长时间运行的任务提交到单线程话的Exuctor中,或者将多个长时间运行的任务提交到只包含少量线程的线程池中或削弱Executor管理的服务的响应性 3.不应该在线程池中使用ThreadLocal变量当线程池都是同类的,独立的时候线程池

2017-08-18 17:43:17 509

转载 Spark 报错 ImportError: No module named py4j.java_gateway

vi .bashrcexport PYTHONPATH=$SPARK_HOME/python/:$SPARK_HOME/python/lib/py4j-0.9-src.zip:$PYTHONPATH

2017-08-17 22:37:38 1611

转载 在pycharm中配置Anaconda以及pip源配置

在学习推荐系统、机器学习、数据挖掘时,python是非常强大的工具,也有很多很强大的模块,但是模块的安装却是一件令人头疼的事情。现在有个工具——anaconda,他已经帮我们集成好了很多工具了!anaconda里面集成了很多关于python科学计算的第三方库,主要是安装方便,而python是一个编译器,如果不使用anaconda,那么安装起来会比较痛苦,各个库之间的依赖性就很难连接的很好。在wind

2017-08-17 21:02:52 2670

转载 windows下搭建spark环境

由于Spark是用Scala来写的,所以Spark对scala肯定是原生态支持的,因此这里以Scala为主来介绍Spark环境的搭建,主要包括四个步骤,分别是:JDK的安装,Scala的安装,Spark的安装,Hadoop的下载和配置。为了突出”From Scratch”的特点(都是标题没选好的缘故),所以下面的步骤稍显有些啰嗦,老司机大可不必阅读,直接跳过就好。   一.JDK的安装与环境变量的

2017-08-17 20:42:24 402

转载 maven编码问题

注:本人用方案二中的红色部分解决了问题。 直接将项目改为UTF-8编码,无效!要通过修改pom.xml文件,告诉maven这个项目使用UTF-8来编译。方案一:在pom.xml的/project/build/plugins/下的编译插件声明中加入下面的配置:<encoding>UTF-8</encoding>即:[html] view plaincopy    <plugin>

2017-08-17 11:53:27 790

原创 maven SpringServletContainerInitializer cannot be cast to javax.servlet.ServletContainerInitializ

从jdk6 升级到jdk7抛出SpringServletContainerInitializer cannot be cast to javax.servlet.ServletContainerInitializ将maven中 <dependency> <groupId>javax.servlet</groupId> <artifactId>javax

2017-08-17 11:51:13 575

转载 Protostuff序列化

前言:       Java序列化是Java技术体系当中的一个重要议题,序列化的意义在于信息的交换和存储,通常会和io、持久化、rmi技术有关(eg:一些orm框架会要求持久化的对象类型实现Serializable接口)。       本文将提供Java自带序列化机制和ProtoStuff的序列化(仅仅当作一种数据格式)的比较,从序列化的内容和特点来对二者进行比较。       结论:1,Ja

2017-08-17 09:37:34 452

转载 matplotlib入门教程--1(条形图, 直方图, 盒须图, 饼图)

作图首先要进行数据的输入,matplotlib包只提供作图相关功能,本身并没有数据读入、输出函数,针对各种试验或统计文本数据输入可以使用numpy提供的数据输入函数。# -*- coding: gbk -*-"""Created on Sun Jan 11 11:17:42 2015@author: zhang"""import numpy as npimport matplotlib.

2017-08-16 23:16:07 1316

原创 python3 centos下安装tkinter

yum install tkinter yum -y install tcl-devel tk-devel 并且重编译python

2017-08-16 22:05:32 7534

转载 如何在Spark2.0.2中启动Ipython Notebook

最近因为学习《Spark机器学习》,里面的第三章涉及到了ipython notebook ,老版本的spark直接在Spark根目录下输入一下就可IPYTHON=1 IPYTHON_OPTS=’–pylab’ ./bin/pyspark可是我下载的是最新的spark2.0.2,这个接口改变了!解决方法1: 需要改成如下命令才行:PYSPARK_DRIVER_PYTHON=ipython PYSP

2017-08-16 20:32:29 659

原创 CentOS7 matplotlib notebook 安装和使用

yum install freetype freetype-devel python-freetype yum install libpng libpng-devel python-pypng pip3 install matplotlib

2017-08-16 20:04:05 588

转载 修改spark日志配置

在测试Spark计算时,将作业提交到yarn(模式–master yarn-cluster)上,想查看print到控制台这是imposible的,因为作业是提交到yarn的集群上,so 去yarn集群上看日志是很麻烦的,但有特别想看下print的信息,方便调试或者别的目的 在Spark的conf目录下,把log4j.properties.template修改为log4j.properties,原来的

2017-08-16 19:30:18 1598

原创 多线程redis抛出异常B cannot be cast to java.lang.Long

Exception in thread “pool-1-thread-5” java.lang.ClassCastException: [B cannot be cast to java.lang.Long at redis.clients.jedis.Connection.getIntegerReply(Connection.java:222) at redis.clients

2017-08-16 11:15:36 8490 2

转载 tensorflow1.1及python3安装

一 。安装python3.5.31.安装tkinter(不需要这个模块的不用安装,import matplotlib.pyplot 需要此模块)下载ActiveTcl-8.5    tar -zxvf   ActiveTcl8.5.18.0.298892-Linux-x86_64-threaded.tar.gz 解压进入文件夹  执行./install.sh  路径安装在/opt/ActiveT

2017-08-15 23:19:04 906

转载 LINUX CENTOS7下安装PYTHON3.5.4

1.查看是否已经安装PythonCentos7默认安装了python2.7.5 因为一些命令要用它比如yum 它使用的是python2.7.5。使用python -V命令查看一下是否安装Python: 然后查看一下Python可执行文件的位置:进入到bin目录:可以看到可执行文件python指向python2,python2又指向python2.7也就是说Python命令执行的系统预装的Pyt

2017-08-15 22:50:27 3395

转载 Linux上安装Hadoop集群(CentOS7+hadoop-2.8.0)

1下载hadoop2安装3个虚拟机并实现ssh免密码登录        2.1安装3个机器        2.2检查机器名称        2.3修改/etc/hosts文件        2.4 给3个机器生成秘钥文件        2.5 在hserver1上创建authorized_keys文件        2.6将authorized_keys文件复制到其他机器

2017-08-15 08:35:05 890

转载 Linux安装单机版Spark(CentOS7+Spark2.1.1+Scala2.12.2)

1 安装Spark依赖的Scala        1.2 为Scala配置环境变量        1.3 验证Scala2下载和解压缩Spark3 Spark相关的配置         3.1 配置环境变量         3.2 配置conf目录下的文件                   3.2.1 新建spark-env.h文件                   3.2.2

2017-08-15 08:32:35 619

转载 Linux安装Spark集群(CentOS7+Spark2.1.1+Hadoop2.8.0)

1 安装Spark依赖的Scala          1.1下载和解压缩Scala          1.2 配置环境变量          1.3 验证Scala2下载和解压缩Spark          2.1 下载Spark压缩包          2.2 解压缩Spark3 Spark相关的配置          3.1 配置环境变量          3.2 配置co

2017-08-15 08:31:52 4974

转载 python3.5 pip安装

Python官网:https://www.python.org/downloads/source/pip下载包:https://github.com/pypa/pip一、python3.5安装转载:http://www.cnblogs.com/liujian001/p/5160869.html前言:      python3应该是python的趋势所在,当然目前争议也比较大,这篇随笔的主要目的

2017-08-15 00:12:12 4134

转载 机器学习 28 个视频教程

想自学机器学习和深度学习?不妨边看专家讲解视频边自学。不仅能感受世界各地专家的熏陶,也能快速获取知识,一举两得。这篇文章整理了一个 YouTube 视频列表,供希望在该领域学习的朋友使用。  视频观看建议  我将视频分为三类:机器学习、神经网络、深度学习。为方便起见,你可以使用我创建的列表按顺序学习。特别推荐初学者根据顺序学习,以更好地理解视频。  这套参考视频集需要时间消化,若觉得视频太多请

2017-08-14 18:01:02 2193 1

转载 Spark中加载本地(或者hdfs)文件以及SparkContext实例的textFile使用

默认是从hdfs读取文件,也可以指定sc.textFile("路径").在路径前面加上hdfs://表示从hdfs文件系统上读  本地文件读取 sc.textFile("路径").在路径前面加上file:// 表示从本地文件系统读,如file:///home/user/spark/README.md‍ 网上很多例子,包括官网的例子,都是用textFile来加载一个文件创建RDD,类似sc.t

2017-08-13 18:47:57 4251

原创 MySQL慢查询优化之索引优化(一)

示例: 从400万条员工表中对比索引查询和费索引的where查询有索引查询:EXPLAIN select * from emp WHERE deptno=28;EXPLAIN结果显示MySQL预估需要访问7840条数据 在使用索引的情况下,多次执行此语句平均消耗时间约为0.02sdeptno上的索引对比一下ALTER TABLE emp drop INDEX index_deptno;EXP

2017-08-13 12:10:28 359

转载 windows7 python3.5安装

1. 下载python3https://www.Python.org/downloads/WindowsXP最高支持版本3.4Win7以上可用3.52.安装正常情况安装采用全部默认值得方式.3.环境变量配置3.1  选择我的电脑属性3.2  选择高级系统设置3.3  选择环境变量3.4  选择下面系统变量中的Path, 并在变量值中写入Python3所安装的完整路径, 注意 ;(分号

2017-08-12 22:43:59 1010

空空如也

空空如也

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

TA关注的人

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