Akka实现WordCount(Scala)】的更多相关文章

Akka实现WordCount(Scala): 架构图: 项目结构: pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/x…
1. 启动类 object Application extends App{ val _system = ActorSystem("HelloAkka") //构建akka容器 val master:ActorRef = _system.actorOf(Props[MasterActor],name="master") //akka容器创建actor println("master.path ==>\t"+master.path) //ak…
http://www.cnblogs.com/byrhuangqiang/p/4017725.html 为了在IDEA中编写scala,今天安装配置学习了IDEA集成开发环境.IDEA确实很优秀,学会之后,用起来很顺手.关于如何搭建scala和IDEA开发环境,请看文末的参考资料. 用Scala和Java实现WordCount,其中Java实现的JavaWordCount是spark自带的例子($SPARK_HOME/examples/src/main/java/org/apache/spark…
编写Spark的WordCount程序并提交到集群运行[含scala和java两个版本] 1. 开发环境 Jdk 1.7.0_72 Maven 3.2.1 Scala 2.10.6 Spark 1.6.2 Hadoop 2.6.4 IntelliJ IDEA 2016.1.1 2. 创建项目1) 新建Maven项目 2) 在pom文件中导入依赖pom.xml文件内容如下: <?xml version="1.0" encoding="UTF-8"?> &l…
包括: Scala IDE for Eclipse的下载  Scala IDE for Eclipse的安装 本地模式或集群模式 我们知道,对于开发而言,IDE是有很多个选择的版本.如我们大部分人经常用的是如下. Eclipse *版本 Eclipse *下载 而我们知道,对于spark的scala开发啊,有为其专门设计的eclipse,Scala IDE for Eclipse 1.Scala IDE for Eclipse的下载 http://scala-ide.org/ 2.Scala I…
为了让Scala运行起来还是很麻烦,为了大家方便,还是记录下来: 1.首先我下载的是IDEA的社区版本,版本号为15. 2.下载安装scala插件: 2.1 进入设置菜单. 2.2 点击安装JetBrains plugin 2.3 输入scala查询插件,点击安装 说明:我的IDEA已经安装,所以这里面没有显示出来安装按钮,否则右边有显示绿色按钮. 3.新建Scala工程 3.1 新建工程 通过菜单:File---->New Project 选择Scala工程. 并且设置项目基本信息,如下图:…
1:spark shell仅在测试和验证我们的程序时使用的较多,在生产环境中,通常会在IDE中编制程序,然后打成jar包,然后提交到集群,最常用的是创建一个Maven项目,利用Maven来管理jar包的依赖. 2:配置Maven的pom.xml: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xm…
WordCount.Scala代码如下: package com.husor.Spark /** * Created by huxiu on 2014/11/26. */ import org.apache.spark.{SparkContext, SparkConf} import org.apache.spark.SparkContext._ object SparkWordCount { def main(args: Array[String]) { println("Test is st…
Akka可能很多人都没有用过,也不知道是什么,但如果说起Scala或Spark就有很多人都听说过或使用过 ,这里简单说下三者的关系Akka是使用Scala开发的,Spark中使用了Akka作为其消息的通信工具:这篇文章主要 说说Akka的一些特性,做个简要的介绍: 要说Akka首先要从并发开始说起,我记得之前我也写过并发模型相关的文章,并发模型主要有这么三类: 1.共享内存模型 2.Actor模型 3.CSP模型 共享内存模型:是通过使用线程与锁对共享内存进行控制用于实现并发,它依赖于多线程.锁…
包括: IntelliJ IDEA的下载  IntelliJ IDEA的安装 IntelliJ IDEA中的scala插件安装 用SBT方式来创建工程 或 选择Scala方式来创建工程 本地模式或集群模式 我们知道,对于开发而言,IDE是有很多个选择的版本.如我们大部分人经常用的是如下. Eclipse *版本 Eclipse *下载 而我们知道,对于spark的scala开发啊,有为其专门设计的eclipse,Scala IDE for Eclipse Scala IDE for Eclips…
Scala是一个运行在Java JVM上的面向对象的语言.它支持函数编程,在语法上比Java更加灵活,同时通过Akka库,Scala支持强大的基于Actor的多线程编程.具有这些优势,使得我最近很想在一个新的项目中使用Scala,但是在新项目中,抛弃我们常用的Java和C#,而直接使用一门新的语言是很困难的.这不仅包括学习新语言这个过程,未来,更为项目的长期发展和日后的开发和支持增加了很多变数.毕竟一门新的语言是不可能在很短的时间内在行业中达到Java和C#的流行度的. 那么,我们就不能在新项目…
问题导读: 1.什么是sbt? 2.sbt项目环境如何建立? 3.如何使用sbt编译打包scala? [sbt介绍 sbt是一个代码编译工具,是scala界的mvn,可以编译scala,java等,需要java1.6以上. sbt项目环境建立 sbt编译需要固定的目录格式,并且需要联网,sbt会将依赖的jar包下载到用户home的.ivy2下面,目录结构如下: |--build.sbt |--lib |--project |--src |   |--main |   |    |--scala…
手动敲了一遍计算pi的示例:http://www.gtan.com/akka_doc/intro/getting-started-first-scala.html 有个笔误,花了半个小时定位. [Torstani@sparkb5-i ~/akka_example/pi]$ cat src/Pi.scala package akka.tutorial.first.scala import akka.actor._ import akka.routing.RoundRobinRouter impor…
1.Wordcount.scala(本地模式) package com.Mars.spark import org.apache.spark.{SparkConf, SparkContext} /** * Created by Mars on 2017/1/11. */ object Wordcount { def main(args: Array[String]) { val conf = new SparkConf().setAppName("SparkwordcountApp")…
AKKA学习笔记总结 01. AKKA 1. 介绍: Akka基于Actor模型,提供了一个用于构建可扩展的(Scalable).弹性的(Resilient).快速响应的(Responsive)应用程序的平台. 2. Spark中的RPC 目前大多数的分布式架构底层通信都是通过RPC(进程间通信)实现的,比如Hadoop项目的RPC通信框架,但是Hadoop在设计之初就是为了运行长达数小时的批量而设计的,在某些极端的情况下,任务提交的延迟很高,所有Hadoop的RPC显得有些笨重. Spark…
在上篇讨论里我们提到了become/unbecome.由于它们本质上是堆栈操作,所以只能在较少的状态切换下才能保证堆栈操作的协调及维持程序的清晰逻辑.对于比较复杂的程序流程,Akka提供了FSM:一种通过状态变化进行功能切换的Actor.FSM模式的状态转变特别适合对应现实情况中的程序流程,我们可以用每一种状态来代表一个程序流程.FSM是个trait,定义如下: trait FSM[S, D] extends Actor with Listeners with ActorLogging {...…
在大数据程序流行的今天,许多程序都面临着共同的难题:程序输入数据趋于无限大,抵达时间又不确定.一般的解决方法是采用回调函数(callback-function)来实现的,但这样的解决方案很容易造成“回调地狱(callback hell)”,即所谓的“goto-hell”:程序控制跳来跳去很难跟踪,特别是一些变量如果在回调函数中更改后产生不可预料的结果.数据流(stream)是一种解决问题的有效编程方式.Stream是一个抽象概念,能把程序数据输入过程和其它细节隐蔽起来,通过申明方式把数据处理过程…
准备工作: 将运行Scala-Eclipse的机器节点(CloudDeskTop)内存调整至4G,因为需要在该节点上跑本地(local)Spark程序,本地Spark程序会启动Worker进程耗用大量内存资源 其余准备工作可参考:scala程序开发之单词出现次数统计(本地运行模式) 1.启动Spark集群 [hadoop@master01 install]$ cat start-total.sh #!/bin/bash echo "请首先确认你已经切换到hadoop用户" #启动zoo…
>>提君博客原创  http://www.cnblogs.com/tijun/  << 提君博客原创 1.进入命令窗口 ./bin/spark-shell 附上帮助指令,查看一些帮助信息 scala> :help All commands can be abbreviated, e.g., :he instead of :help. :edit <id>|<line> edit history :help [command] print this su…
1.去清华的镜像站点下载文件spark-2.1.0-bin-without-hadoop.tgz,不要下spark-2.1.0-bin-hadoop2.7.tgz 2.把文件解压到/usr/local目录下,解压之后的效果,Hadoop和Spark都在Hadoop用户下 下面的操作都在Hadoop用户下 drwxrwxrwx 13 hadoop hadoop 4096 4月   4 11:50 spark-2.1.0-bin-without-hadoop/ 添加Hadoop用户和用户组 $ su…
Akka共享内存 Akka中的共享内存是基于Actor模型的,Actor模型提倡的是:通过通讯来实现共享内存,而不是用共享内存来实现通讯,这点是跟Java解决共享内存最大的区别,举个例子: 在Java中我们要去操作共享内存中数据时,每个线程都需要不断的获取共享内存的监视器锁,然后将操作后的数据暴露给其他线程访问使用,用共享内存来实现各个线程之间的通讯,而在Akka中我们可以将共享可变的变量作为一个Actor内部的状态,利用Actor模型本身串行处理消息的机制来保证变量的一致性. 当然要使用Akk…
spray 是基于 akka 的轻量级 scala 库,可用于编写 REST API 服务.了解 spray 的 DSL 后可以在很短的时间内写出一个 REST API 服务,它的部署并不需要 tomcat , apche 等容器,可以直接 run.对于每一个 route, spray 都会 sprawn 一个或多个 actor提供服务,actor 的数目是可以配置的,我们不需要关心多线程处理的问题.从 benchmark 来看, spray 的性能是很不错.另外,spray 提供了一套测试套件…
不多说,直接上干货! 对于初学者来说,建议你先玩玩这个免费的社区版,但是,一段时间,还是去玩专业版吧,这个很简单哈,学聪明点,去搞到途径激活!可以看我的博客. 包括: IntelliJ IDEA(Community)的下载  IntelliJ IDEA(Community)的安装 IntelliJ IDEA(Community)中的scala插件安装 用SBT方式来创建工程 或 选择Scala方式来创建工程 本地模式或集群模式 我们知道,对于开发而言,IDE是有很多个选择的版本.如我们大部分人经…
问题导读: 1.什么是sbt? 2.sbt项目环境如何建立? 3.如何使用sbt编译打包scala? sbt介绍 sbt是一个代码编译工具,是scala界的mvn,可以编译scala,java等,需要java1.6以上. sbt项目环境建立 sbt编译需要固定的目录格式,并且需要联网,sbt会将依赖的jar包下载到用户home的.ivy2下面,目录结构如下: |--build.sbt |--lib |--project |--src | |--main | | |--scala | |--tes…
1.编写程序代码如下: Wordcount.scala package Wordcount import org.apache.spark.SparkConf import org.apache.spark.SparkContext import org.apache.spark.SparkContext._ /** * @author hadoop * 统计字符出现个数 * */ object Wordcount { def main(args: Array[String]) { if(arg…
一.scala数组 数组定义1: var arr = new Array[String](3) String:存储的元素类型 3:存储3个元素 添加元素: arr(1) = "hello" 数组定义2: val arr1 = Array[Int](1,2,3,4,5,6) 改变内容:arr1(1) = 18 添加元素:arr1 += 22 长度不可以改变 二.数组方法 1.map(映射) 映射: 2 4 6 映射关系:f(x) = x*5 对应映射关系:10 20 30 例: scal…
这篇博客 是在Scala IDEA for Eclipse里手动创建scala代码编写环境. Scala IDE for Eclipse的下载.安装和WordCount的初步使用(本地模式和集群模式) 本博文,教大家,用maven来创建. 第一步:安装scala插件 因为,我win7下的scala环境是2.10.4 所以,选择下载的是,这个 下载好之后,解压缩以后把plugins和features复制到eclipse目录,重启eclipse以后即可. 重启eclipse以后即可. 然后, Win…
[From] https://blog.csdn.net/linuxarmsummary/article/details/79399602 Akka in JAVA(一) AKKA简介 什么是AKKA Akka是一个由Scala编写的,能兼容Sacala和JAVA的,用于编写高可用和高伸缩性的Actor模型框架.它基于了事件驱动的并发处理模式,性能非常的高,并且有很高的可用性.大大的简化了我们在应用系统中开发并发处理的过程.它在各个领域都有很好的表现. 使用AKKA的好处 就如上面简介中所说的,…
基于Intellij IDEA搭建Spark开发环境搭建 基于Intellij IDEA搭建Spark开发环境搭——参考文档 ● 参考文档http://spark.apache.org/docs/latest/programming-guide.html ● 操作步骤 ·a)创建maven 项目 ·b)引入依赖(Spark 依赖.打包插件等等) 基于Intellij IDEA搭建Spark开发环境—maven vs sbt ● 哪个熟悉用哪个 ● Maven也可以构建scala项目 基于Inte…
学习使用AKKA 断断续续有一年了. 眼下还是习惯用java来写akka以下的程序.对于原生的scala还是没有时间和兴趣去学习它. 毕竟学习一门语言须要兴趣和时间的. AKKA学习资源还是不算丰富. 看过最多的就是官方的编程手冊,还有就是AKKA Essentials 这两本.  自己动手写的程序还不算多,也放在github上面. 另外,在akka编译配置.升级版本号上,以及部署多台server组建akka cluster 方面花费了不少时间. 由于项目须要,上周又一次在办公室用两台mac台式…