- 博客(42)
- 资源 (12)
- 收藏
- 关注
翻译 Java-RPC:1)RPC入门初窥
RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。 RPC采用客户机/服务器
2016-11-30 23:23:05 874
翻译 Java并发多线程进阶-1
1.synchronized和lock1.1synchronized同步代码块格式如下:synchronized( 需要一个任意的对象){ //代码块中放操作共享数据的代码。}synchronized的缺陷:synchronized是java中的一个关键字,也就是说是Java语言内置的特性。如果一个代码块被synchronized修饰了,当一个线程获取了对应的锁,并执行该代码块
2016-11-30 15:37:58 783
转载 Linux-Shell:1)Vim编辑器
vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的。下面的文章翻译自《Learn Vim Progressively》,我觉得这是给新手最好的VIM的升级教程了,没有列举所有的命令,只是列举了那些最有用的命令。非常不错。——————————正文开始——————————你想以最快的速度学习人类
2016-11-29 23:49:08 414
转载 scala类型系统:19) Manifest与TypeTag
scala类型系统:19) Manifest与TypeTagManifest是scala2.8引入的一个特质,用于编译器在运行时也能获取泛型类型的信息。在JVM上,泛型参数类型T在运行时是被“擦拭”掉的,编译器把T当作Object来对待,所以T的具体信息是无法得到的;为了使得在运行时得到T的信息,scala需要额外通过Manifest来存储T的信息,并作为参数用在方法的运行时上下文。
2016-11-29 23:26:02 389
转载 SparkStream:2)Window窗体相关操作
SparkStreaming之window滑动窗口应用,Spark Streaming提供了滑动窗口操作的支持,从而让我们可以对一个滑动窗口内的数据执行计算操作。每次掉落在窗口内的RDD的数据,会被聚合起来执行计算操作,然后生成的RDD,会作为window DStream的一个RDD。网官图中所示,就是对每三秒钟的数据执行一次滑动窗口计算,这3秒内的3个RDD会被聚合起来进行处理,然后
2016-11-27 22:26:43 3377
原创 SparkStream:4)foreachRDD详解
foreachRDD通常用来把SparkStream运行得到的结果保存到外部系统比如HDFS、Mysql、Redis等等。了解下面的知识可以帮助我们避免很多误区误区1:实例化外部连接对象的位置不正确,比如下面代码dstream.foreachRDD { rdd => val connection = createNewConnection() // executed at t
2016-11-24 14:33:22 11766
转载 SparkStream:3)updateStateByKey详解
SparkStream官方文档对updateStateByKey这个函数介绍过于粗略,在网上看见了一篇不错的文章就转载了过来在实时计算的实际应用中,有时除了需要关心一个时间间隔内的数据,有时还可能会对整个实时计算的所有时间间隔内产生的相关数据进行统计。比如: 对Nginx的access.log实时监控请求404时,有时除了需要统计某个时间间隔内出现的次数,有时还需要统计
2016-11-24 09:27:57 6063
转载 Mysql-left join,right join,inner join
下面是例子分析表A记录如下: aID aNum 1 a20050111 2 a20050112 3 a20050113 4 a20050114 5 a20050115 表B记录如下: bID bName 1 200603
2016-11-23 22:59:20 364
转载 SparkStream:1)入门简介
StreamingContext如同SparkContext一样,StreamingContext也是Spark Streaming应用程序通往Spark集群的通道,它的定义如下:Java代码 /** * Main entry point for Spark Streaming functionality. It provides methods use
2016-11-21 20:53:15 1530
转载 Ubuntu 14.04 LTS 下升级 gcc 到 gcc-4.9、gcc-5 版本
如果没记错的话,阿里云ECS上的Ubuntu也是LTS版本。如果还在使用较旧版本的Ubuntu,或者是Ubuntu LTS,那么我们是很难体验新版gcc的。怎么办呢?我们或许可以自己去编译用旧版本的gcc去编译新版本,但比较繁琐而且坑点较多。如果有现成的包就好啦!原来,在toolchain/test下已经有打包好的gcc,版本有4.x、5.0、6.0等,用这个PPA升级gc
2016-11-21 15:22:13 756
原创 Kafka:1)Kafka集群搭建
软件环境:Linux服务器多台(本实验使用3台centos6.5搭建kafka)已经搭建好的Zookeeper集群(具体可以参看:Zookeeper集群搭建)Scala 2.10 - kafka_2.10-0.9.0.1.tgz
2016-11-20 18:54:05 1138
转载 Zookeeper快速集群搭建
在安装Zookeeper之前,首先需要确保的就是主机名称(可选)、hosts都已经更改,并且JDK成功安装。 1、安装Zookeeper使用命令“tar -zxvf”命令将gz压缩文件解压。笔者Zookeeper的安装目录为:“/home/Hadoop”,解压后的Hadoop目录为/home/hadoop/zookeeper-3.4.6”,最好确保Master、Slave1
2016-11-20 16:27:39 647
原创 SparkSQL:Spark整合Hive
1.安装HiveHive的安装,可以参看Hadoop-Hive快速入门,这里再重述2.拷贝Hive的配置文件拷贝$HIVE_HOME/conf/hive-site.xml文件到$SPARK_HOME/conf下3.测试Hive本地数据测试文件people.txt1 user01 1234562 user02 1234563 use
2016-11-19 18:34:19 5697
原创 Spark调度机制:5)任务调度
在DAG调度器完成了阶段划分的工作后,并把任务集交给任务调度器,接下来将深入到任务调度器内部,观察任务集已经任务的调度与执行过程1.任务分类与执行在Spark中,Task进一步被划分为Result Task和ShuffleMap Task,顾名思义,Result Task就是Result Stage内部被调度器划分得到的任务,而ShuffleMap Task则是ShuffleMap Sta
2016-11-18 16:59:11 735
原创 Spark核心RDD:计算函数compute
RDD的计算是惰性的,一系列转换操作只有在遇到动作操作是才会去计算数据,而分区作为数据计算的基本单位。在计算链中,无论一个RDD有多么复杂,其最终都会调用内部的compute函数来计算一个分区的数据。1.compute方法RDD抽象类要求其所有子类都必须实现compute方法,该方法介绍的参数之一是一个Partition对象,目的是计算该分区中的数据。以MapPartitionsRDD类为
2016-11-18 11:41:09 10269 3
转载 scala类型系统:18) 不稳定(volatile)类型
转载自:http://hongjiang.info/scala/ 推荐大家阅读下这位大哥出版的书《Scala函数式编程》
2016-11-17 23:27:18 2259
原创 Spark调度机制:4)阶段划分
阶段划分是作业调度过程的关键所在,首先探讨下Spark是如何进行阶段划分的。一个阶段划分的例子如下图所示,用虚线表示一个阶段,虚线框内所有的RDD都是为了实现该阶段而需要被计算的数据。整个作业最后一个RDD的所有分区数据被计算完毕对于的阶段就是所求的末阶段。沿着RDD的依赖关系往前进行深度优先遍历,若遇到一个Shuffle依赖,依赖的每一个父RDD所有分区数据都计算完毕可以分别对应一个阶段
2016-11-17 15:58:21 3029
原创 Spark调度机制:3)DAG调度
1.DAG调度器简介DAG即Directed Acyclic Graph,有向无环图的意思,Spark会存储RDD之间的依赖广西,依赖关系是有向的,总是由子RDD指向父RDD(平时我们看到的箭头一般是数据流向而不是依赖指向,它们刚好相反),RDD依赖的有向性导致RDD的计算呈现明显的阶段特征。因此所形成的的计算链也可以被分割为多个阶段,后面的阶段依赖前面的阶段是否完成。由于RDD内部的数据是不
2016-11-17 10:27:09 3990
原创 Spark调度机制:2)集群资源注册
1.启动Master和Worker进程Master进程可以通过Master节点上执$SPARK_HOME/sbin/start-master.sh 启动Worker进程可以在Slave节点上使用”$SPARK_HOME/sbin/start-slave.sh ”启动,或者使用”$SPARK_HOME/bin/spark-class org.apache.spark.deploy.worke
2016-11-16 18:56:46 589
转载 scala类型系统:17) 结构类型的细节问题
scala类型系统:17) 结构类型的细节问题这次聚会中分享的《scala类型系统》中,对于结构类型,有一页中有错误,纠正一下。这页ppt中,上面一行代码中的 {val name:String} 是结构类型,但下面一行中{val name="wang"}在这种情况下并不是结构类型,而是Early definition我们看一下scala规范里对Early d
2016-11-15 23:16:15 477
转载 scala类型系统:16) 函数类型
scala类型系统:16) 函数类型函数类型在写法上(T1,T2…) => R小括号里的是入参类型(最多可以有22个,最少为0),右箭头右边的是返回结果类型。函数类型里可以使用通配符“_”,表示任意类型:scala> val x: String => _ = nullx: Function1[String, _] = null右箭头形式的背后是转换
2016-11-15 23:00:40 635
原创 Spark调度机制:1)简介&基本概念
1.Spark的调度机制简介Spark的调度机制有2类,主要是集群调度机制和应用程序内部的调度机制。理解其中的原理,便于我们更深入地了解Spark和性能优化。集群资源调度由集群资源管理器(Cluster Manager)控制,负责协调所有的应用程序,为每个Spark应用程序分配适当的计算资源。比如Yarn、Mesos、以及Spark自身的Standalone。作业调度器(Job S
2016-11-13 19:04:47 1667
翻译 Mysql-创建用户和授权
一.创建用户: 命令:CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 说明:username - 你将创建的用户名, host - 指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost, 如果想让该用户可以从任意远程主机登陆,可以使用通配符%. password - 该用户的登陆密码,密码可以为空,如果为空则该
2016-11-09 10:51:39 487
转载 scala类型系统:15) 协变与逆变
scala类型系统:15) 协变与逆变对于一个带类型参数的类型,比如 List[T],如果对A及其子类型B,满足List[B]也符合 List[A]的子类型,那么就称为covariance(协变),如果List[A]是 List[B]的子类型,即与原来的父子关系正相反,则称为contravariance(逆变)协变: _____ ________
2016-11-09 09:53:13 382
转载 scala类型系统:14) multiple bounds-多重界定
scala类型系统:14) multiple bounds在之前的:scala类型系统:11) upper bounds & lower bounds 结尾提到过在multiple bounds(多重界定)情况下java与scala的一些差异,这篇详细说一下scala里的multiple bounds。1 不能同时有多个upper bounds 或 lower bounds,变通的
2016-11-09 09:52:58 545
转载 scala类型系统:13) context bounds-上下文界定
scala类型系统:13) context boundscontext bounds-上下文界定与view bounds一样context bounds(上下文界定)也是隐式参数的语法糖。context bounds的出现是scala2.8版本才增加的,起因是2.8版本修正了数组类型的设计(关于这个话题后续单独讨论),同时为语法上的方便,引入了”上下文界定”这个概念。看一个简单
2016-11-09 09:52:41 1453
转载 scala类型系统:12) view bounds-视图界定
scala类型系统:12) view boundsview bounds-视图界定很早前在来往的扎堆里发过一段模拟C#的using代码:def using[ C T): T = { try { handle(resource) } finally { closeQuietly(resource) }}Eric(药
2016-11-09 09:52:28 982
转载 scala类型系统:11) upper bounds & lower bounds
scala类型系统:10) 交集类型与联合类型《快学scala》这本书(即《Scala for the Impatient》中文版)在介绍复合类型时提到它们也被成为“交集类型”,跟老高确认了一下,这块的英文原文是:In order to belong to the compound type, a value must belong to all of the individual
2016-11-09 09:52:09 534
转载 scala类型系统:10) 交集类型与联合类型
scala类型系统:10) 交集类型与联合类型《快学scala》这本书(即《Scala for the Impatient》中文版)在介绍复合类型时提到它们也被成为“交集类型”,跟老高确认了一下,这块的英文原文是:In order to belong to the compound type, a value must belong to all of the individual
2016-11-09 09:51:43 719
转载 scala类型系统:9) this别名&自身类型
scala类型系统:9) this别名&自身类型看scala的源码的话很发现很多源码开头都有一句:self => 这句相当于给this起了一个别名为selfclass A { self => //this别名 val x=2 def foo = self.x + this.x }self不是关键字,可以用除了this外的任何名字命名(除关键字)。就
2016-11-09 09:51:29 625
转载 scala类型系统:8) type关键字
scala类型系统:8) type关键字scala里的类型,除了在定义class,trait,object时会产生类型,还可以通过type关键字来声明类型。type相当于声明一个类型别名:scala> type S = Stringdefined type alias S上面把String类型用S代替,通常type用于声明某种复杂类型,或用于定义一个抽象类型。场景1 用
2016-11-09 09:50:51 1822
转载 scala类型系统:7) 中缀类型
scala类型系统:7) 中缀类型中缀类型并不是一种特殊的类型,只是针对带有2个类型参数的泛型类型在表达方式上允许用中缀形式而已。scala中的中缀表达在3个地方存在:操作符、模式匹配、类型声明1)中缀操作符最常见: a + b 或 x foo y 里的+和foo都是中缀操作符(严格的说scala里没有操作符,其实都是方法)。其中需要注意的一点是名称最后以“:”结尾的,
2016-11-09 09:50:16 932
转载 scala类型系统:6) 复合类型与with关键字
scala类型系统:6) 复合类型与with关键字上次上海scala聚会回来,把《快学scala》借给王福强看了几天,他写过一篇”scala for the impatient琐碎记录”,其中多Trait与继承的解读class A extends B with C with D with E 应做类似如下形式解读:class A extends (B with C w
2016-11-09 09:49:38 933
转载 scala类型系统:5) 结构类型
scala类型系统:5) 结构类型结构类型(structural type)为静态语言增加了部分动态特性,使得参数类型不再拘泥于某个已命名的类型,只要参数中包含结构中声明的方法或值即可。举例来说,java里对所有定义了close方法的抽象了一个Closable接口,然后再用Closable类型约束参数,而scala里可以不要求参数必须继承自Closable接口只需要包含close方法;如下
2016-11-09 09:49:29 945
转载 scala类型系统:4) 内部类,路径依赖类型&类型投影
scala类型系统:4) 内部类,路径依赖类型&类型投影先回顾一下java的内部类class Outter{ public class Inner {} public void foo(Inner c){ System.out.println(c); }}public class Main { public static voi
2016-11-09 09:47:54 557
转载 scala类型系统:3) 单例类型与this.type
scala类型系统:3) 单例类型与this.type对于单例类型(singleton type),在《scala impatient》这本书(中文版:快学scala)里有提到过,当时读的时候,扫了一下,以为就是指scala里用object定义的这种单例对象呢,没有仔细看,最近才发现其实singleton type 是所有实例都可以有scala> object Ascala>
2016-11-09 09:47:32 515
转载 scala类型系统:2) classOf与getClass方法的差异
scala类型系统:2) classOf与getClass方法的差异11条回复前一篇在提到获取Class时的两个方法:classOf 和 getClassscala> class Ascala> val a = new Ascala> a.getClassres2: Class[_ <: A] = class Ascala> classOf[A]res3:
2016-11-08 23:45:20 2191
转载 scala类型系统:1) 类型与类
scala类型系统:1) 类型与类在Java里,一直到jdk1.5之前,我们说一个对象的类型(type),都与它的class是一一映射的,通过获取它们的class对象,比如 String.class, int.class, obj.getClass() 等,就可以判断它们的类型(type)是不是一致的。而到了jdk1.5之后,因为引入了泛型的概念,类型系统变得复杂了,并且因为j
2016-11-08 23:42:48 535
Notepad++ ftp/sftp 插件
2017-11-07
keras的demo数据-imdb.npz
2017-09-05
解决Centos6.7:-bash: ./DrClientLinux: /lib/ld-linux.so.2: bad ELF
2015-10-18
C# WInform TreeLiew显示磁盘文件Demo
2015-07-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人