自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

白杨的专栏

选择大于努力,态度决定高度!

  • 博客(24)
  • 资源 (5)
  • 收藏
  • 关注

原创 GraphLab 安装在Hadoop集群

0. 写在前面感觉GraphLab非常惊艳,可以在python环境当中非常好地使用。但它在接受了两轮投资之后已经由原来的免费项目变成了一个付费试用的项目。但是个人和学术使用依然可以申请。伴随着这个商业化的过程,graphlab.org也变成了dato.com。下面详细介绍GraphLab单机测试和集群部署的过程。1. 实验环境 系统 主机名 IP地址 内存 CPU Ubuntu

2015-11-29 08:43:48 3812 3

原创 Graphx 最短路径源码解析

最短路径测试代码下面主要是对Spark图计算框架GraphX中的单源点最短路径的源码进行解析。 GraphX最短路径求解中使用了Pregel模型,这是一个非常高效的图计算模型。但目前最短路径有如下限制:1. 只能用于无向图;2. 只能用于非带权图(权值相等);3. 利用的算法是迪杰斯特拉求解最短路径。

2015-11-24 08:32:49 5401 7

原创 IndexedRDD 源码解读一

1. IndexedRDDPartion构建过程调用构建函数 val vp = IndexedRDDPartition(Iterator((0L, 1), (1L, 1)))这里会调用IndexedRDDPartition 的apply 方法。 def apply[V: ClassTag](iter: Iterator[(Id, V)]): IndexedRDDPartition

2015-11-16 19:19:33 1007

原创 Chapter12 Scala操作符

1. 标识符变量名、函数名、类名等统称为标识符,scala可以使用任何字符来作标识符,比如 ()!#%&×+-/:<>=?@\^|~ 等。反引号中可以使用任何字符序列。 val √ = scala.math.sqrt _ √(2) val `val` = 42 println(`val`)2. 中置操作符操作符要接两个参数,分别位于操作符两边。a 标识符

2015-11-15 09:59:38 2181

原创 Chapter11 类型参数

1. 泛型类 个人理解:泛型实质就是类或方法在定义时没有给定具体参数类型,需要在编译或运行时自动推断出类型的一种方法。用方括号来定义类型参数,放在类名后面。下面就定义了一个带有两个类型参数T和S的类。 class Pair[T, S](val first: T, val second: S) { override def toString = "(" + first + ",

2015-11-14 16:13:21 878

原创 Chapter10 注 解

Chapter10这节还是挺重要的,在看Spark源码的过程中,发现其源码使用到很多注解的知识,所以这节一定要好好学习。1. 什么是注解注解:是那些你插入到代码中以方便工具可以对它们进行处理的标签。注解作用:是描述哪些被注解的表达式、变量、字段、方法或类型。Java中注解不会影响编译器生成字节码,而Scala中会影响。下面是注解的一个简单实例: import scala.refle

2015-11-13 21:14:59 1489

原创 ubuntu下恢复rm删除的数据

1. 论“备份”的重要性今天手真快,Tab补全文件名后回车,昨天一天写的代码就被我remove了。虽然自己写了脚本备份系统和home目录,但系统是1天一备份,home是2天一次增量备份。又恰巧昨晚没有备份home,并且git也没有提交,欲哭无泪的感觉5555~~。被rm掉的文件其实是可以恢复的,删除命令只是在文件节点中作了删除标记,并不是真正清空内容,但是其他用户和一些有写盘动作的进程会很快覆盖这些

2015-11-13 08:26:01 28057 4

原创 Ubuntu终端访问samba服务器

习惯终端访问文件和目录,每次访问实验室samba服务器都要动鼠标,好麻烦~_~,呵呵,发现自己好懒。在google搜索找到终端访问samba好多方法,下面整理了两种方法:第一种是使用smbclient访问samba服务器,第二种是直接将共享目录挂载到自己的电脑上,强烈推荐第二种。1. smbclient安装 sudo apt-get install smbclient2. 查看目录的所有共

2015-11-12 22:18:01 30037 2

原创 Chapter09 特质

1. 为什么没有多重继承Chapter09讲的是文件和正则表达式,这章节按照其他语言安排一般都是在最后几章节,所以暂时先忽略该章节,后面会补上。转入正题,如果有两个类Student和Employee,它们都有name这个属性,如果要同时扩展这两个基类该如何做,主要问题是name属性如何处理?如果保留两个,那么访问时到底访问的是哪个呢?如果只保留一个,那么保留哪一个?该问题就是菱形问题。画一个形象

2015-11-11 14:22:21 811

原创 高效细粒度更新的RDD:Spark IndexedRDD

1. 概述由于Spark RDD的Immutable特性,如果想要更新RDD里面的数据,就要对RDD中的每个Partition进行一次transformation,生成一个新的RDD。而对于Streaming Aggregation(聚合)以及Incremental(增量) Algorithm之类的算法,每次迭代都会更新少量数据,但是需要迭代非常多的次数,每一次对RDD的更新代价相对较大。针对这个问

2015-11-08 15:18:05 4477 7

原创 Chapter08 继承

1. 扩展类扩展的方法是使用extends关键字 class Person { var name = "" } class Employee extends Person { var salary = 0.0 def description = "An employee with name " + name + " and salary "

2015-11-07 09:47:44 827

原创 Chapter07 包和引入

1. 包 package源文件目录和包之间并没有强制的关联关系。比如下面Manager.scala不一定要在./com/horstmann/impatient目录中。 // Manager.scala package com { package horstmann { package impatient { class Manager

2015-11-06 19:56:01 788

原创 使用sbt构建IndexedRDD开发环境

1. 开发环境 软件 版本号 Ubuntu 15.04 JDK 1.7.0_79 Scala 2.10.4 spark-assembly 1.3.1-hadoop2.4.0注意:这里spark-assembly-1.31.-hadoop2.4.0必须要用scala2.10.4,用其他高版本会报错。2. linux 下安装sbt && 配置Intellij环境

2015-11-06 17:03:54 1108

原创 RadixTree(基数树)

1. 基数树概述对于长整型数据的映射,如何解决Hash冲突和Hash表大小的设计是一个很头疼的问题。radix树就是针对这种稀疏的长整型数据查找,能快速且节省空间地完成映射。借助于Radix树,我们可以实现对于长整型数据类型的路由。利用radix树可以根据一个长整型(比如一个长ID)快速查找到其对应的对象指针。这比用hash映射来的简单,也更节省空间,使用hash映射hash函数难以设计,不恰

2015-11-06 07:40:30 4415

原创 Linux安装sbt过程详解

1. 下载sbt安装包下载地址点这里。2. 解压文件tar zxvf sbt-0.13.9.tgz3. 建立启动sbt的脚本文件在./sbt目录下面新建文件名为sbt的文本文件$ cd ./sbt$ vim sbt# 在sbt文本文件中添加如下信息:BT_OPTS="-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:Max

2015-11-06 05:39:32 25316 9

原创 Chapter06 对象

1. 单例对象scala中没有静态方法或静态变量,可以使用object达到同样的目的。 object Accounts { private var lastNumber = 0 def newUniqueNumber() = { lastNumber += 1; lastNumber } }对象的构造器在该对象第一次被使用时调用。scala对象可以用来实

2015-11-05 16:30:41 751

原创 Chapter05 类

1. 简单的类和无参方法类的定义及调用方法。所有类都是公有的。 class Counter { private var age = 0 // 必须初始化字段 def incre() { // 方法默认是公用的 age += 1 } def current() = age // 可以不带() }

2015-11-04 17:22:43 769

原创 Chapter04 映射和元组

映射(哈希表) && 元组1. 构造映射映射是键值对偶的集合,映射只做查询。构造一个不可变的Map[String, Int]。 val scores = Map("Alice" -> 10, "Aaron" -> 20, "Bob" -> 13) // 这两种方法等价 val scores = Map(("Alice", 10), ("Aaron", 20), ("Bob", 1

2015-11-04 06:44:05 706

原创 Chapter03 数组相关操作

1. 定长数组Scala定义用到Array,定义如下。 val nums = new Array[Int](10) // 10个整数数组,初始化为0,String初始化为null val s = Array("hello", "world") // 已经提供初始值就不需要new s(0) // 调用时用的是()而不是

2015-11-04 06:02:15 762

原创 Chapter02 控制结构和函数

1. 条件表达式Scala表达式中if/else有值。if (x > 0) 1 else -1等同于C++中:x>0 ? 1 : -1else 部分缺失,引入Unit类,写成(),不带else的语句等同于:if (x > 0) 1 else ()这里Unit相当于C++中void。Scala没有switch语句。在REPL(Read-Eval-Print Loop)中输入代码块,可以键入:p

2015-11-03 22:12:00 702

原创 Chapter01 Scala基础知识

1. Scala编译器安装步骤:下载Scala –> 解压 –> 将Scala/bin的路径添加到PATH中 –> 打开命令行窗口 –> 输入scala有Tab键补全功能2. 声明值和变量val定义的是一个常量,值无法改变,声明变量可以用var。变量或函数的类型写在变量或函数后面。val count:String = null3. 算术和操作数重载+ - * / %等

2015-11-03 19:20:09 841

原创 HDFS 常用文件操作命令

前言HDFS命令基本格式:hadoop fs -cmd < args >ls 命令hadoop fs -ls /列出hdfs文件系统根目录下的目录和文件hadoop fs -ls -R /列出hdfs文件系统所有的目录和文件put 命令hadoop fs -put < local file > < hdfs file >hdfs file的父目录一定要存在,否则命令不会执行hadoop fs

2015-11-01 19:52:01 43122

原创 spark 1.5.1 集群部署

实验环境操作系统:ubuntu 14.04 64位 主机名 IP Master 10.107.12.10 Worker1 10.107.12.20 Worker2 10.107.12.50 Worker3 10.107.12.60JDK 安装实验安装的是jdk1.7.0_71版本,具体安装步骤及环境变量设置参考这里。SSH 无密登录下面是我写的一个自动化SSH

2015-11-01 19:34:52 7083

原创 Django 对数据库进行增删改查

引言假设有如下的model定义,下面将对该model对应的数据库进行增删改查操作。 class Student(): name = models.CharFiled(max_length = 30) age = models.IntegerFiled()增方法一: stu1 = Student(name="Aaron", age=23) stu1.

2015-11-01 17:13:59 19565 2

深度实践kvm pdf

虚拟化技术是大数据和云计算应用中的核心技术,经过几年的友展,KVM已经非常成熟和稳定,逐渐取代Xen等商业虚拟化技术和产品,成为该领域事实上的标准。因为采用KVM技术的业务规模都比较大,生产环境大多比较复杂,加上KVM整个技术生态中涉及的技术较多,使用起来有一定的门槛,企业的学习成本较高。, 当KVM技术在国内鲜有人使用时,本书作者团队就开始钻研并在生产环境中使用,短短几年内,就为公司节省了上亿的运莒成本,帮助公司多个处于生命周期末的游戏项目实现扭亏为盈。本书中所有的知识和经验都来自国内一线的互联网公司的生产环境,比如金山西山居、盛大游戏等,最大的特点就是业务规模大、环境复杂,非常具有代表性,极为珍贵。, 本书从多个维度详细讲解了KVM虚拟化原理、技术及性能调优、软硬件选型,生产环境虚拟化项目实施方法,开源管理平台介绍及部署,虚拟化后端存储方案,开源分布式文件系统GIusterFS、Ceph在虚拟化中的使用方法,虚拟化监控、报警、应急方案的制定,并附有大量生产环境案例。

2018-05-26

计算机体系结构量化研究方法第五版(英文版)

计算机体系结构量化研究方法第五版(英文版)

2014-10-21

MFC函数库使用手则

MFC函数库使用手则 VC6.0 虽然有点小,但对于初学者很实用

2011-09-17

仿真2D第二次培训技术部分

校赛仿真2D第二次培训技术部分(绝密内部资料)

2011-08-06

空空如也

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

TA关注的人

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