澳门新浦京娱乐场网站-www.146.net-新浦京娱乐场官网
做最好的网站

澳门新浦京娱乐场网站:Maven开垦条件搭建附测验

最重要总结以下三有个别,本文为率先有的:
风度翩翩. Scala条件策画
二. Hadoop集群(伪布满情势卡塔尔(英语:State of Qatar)安装 查看
三. Spark集群(standalone模式)安装 查看

前言:

  停滞了黄金年代段时间,现在要沉下心来读书点东西,出点货了。

  本文未有JavaJDK ScalaSDK和 IDEA的安装进程,互连网上会有成千上万篇章介绍这几个剧情,由此这里就不再赘言。

1、安装JAVA SDK

当下斯Parker官方提供Java,Scala,Python两种语言的API。因为斯Parker是用Scala开垦,而Scala本人是遵照JVM的语言,所以Scala和Java的API完整牢固;Python绝对不太完整,有个别新特征刚初始不协助,但Python语言简单明了,且省去了编写翻译打包,用起些许能有益一些。本文件将介绍在IDEA Maven情形下接受Java和Scala的支付斯Parker和斯ParkerStreaming程序的历程。满含开荒工具安装、配置、scala&java混合项目创制、样例代码开辟、运转、打包。详细API介绍不在本文范围,请查阅官方文书档案。

因斯Parker职责多数由Scala编写,因此,首先要求预备Scala意况。
注:楼主实验境况为mac os

一、在IDEA上安装Scala插件

先是打开IDEA,进入先前时代的窗口,选择Configure -——>Plugins

澳门新浦京娱乐场网站 1

下一场拜望到上边包车型客车窗口:

澳门新浦京娱乐场网站 2

此刻咱们筛选‘Browse Repositories …’,然后输入Scala,

澳门新浦京娱乐场网站 3

找到下图那风华正茂项,点击“install”就能够

澳门新浦京娱乐场网站 4

设置到位后,请重启IDEA。

到官网( )下载最新的javase sdk,推荐安装1.6版。安装到位后,在windows景况变量中加多[JAVA_HOME],并把路子琼斯指数向java sdk的装置根目录。

参考资料

Scala意况打算

  1. 下载JDK1.8并安装、配置情状变量(JAVA_HOME卡塔尔(قطر‎,建议选取1.8,与时俱进;
  2. 下载scala-sdk并解压到某些路线(如:~/tools/scala-2.12.6卡塔尔,为方便使用还足以设置一下SCALA_HOME,在终极输入~/tools/scala-2.12.6/bin/scala(未设置SCALA_HOME)或scala(前提设置了SCALA_HOME卡塔尔(英语:State of Qatar)能够验证scala的版本或进行人机联作实验(scala官方网站推荐的图书《Programming in Scala, 3rd ed》中的实例均为在那情势下运营,故学习scala阶段到这一步就够了卡塔尔
    澳门新浦京娱乐场网站 5

  3. 下载IntelliJ IDEA(Ultimate"版即为无需付费版本卡塔尔并设置,安装后装置Scala插件(plugin卡塔尔(英语:State of Qatar),如下图所示;
    打开plugin菜单:
    澳门新浦京娱乐场网站 6

搜寻并安装scala插件
澳门新浦京娱乐场网站 7

  1. 写个小程序测量检验一下呢
    选择“Create New Project”
    澳门新浦京娱乐场网站 8

选料品种项目为“Scala”
澳门新浦京娱乐场网站 9

暗中认可未有Scala SDK,通过以下措施丰盛:Create->Browse...
澳门新浦京娱乐场网站 10

找到SCALA_HOME
澳门新浦京娱乐场网站 11

成功布置
澳门新浦京娱乐场网站 12

为便于开采,将项目转移为maven项目以减轻麻烦的信任性包难题,项目名右键-->Add Framework Support...
澳门新浦京娱乐场网站 13

选择maven
澳门新浦京娱乐场网站 14

品类会活动引进pom.xml,变为scala maven project,并在src下成立source root(可以在package上右键校正卡塔尔(قطر‎
澳门新浦京娱乐场网站 15

source root(该品种中为main.java卡塔尔国上右键-->New-->Scala Class
澳门新浦京娱乐场网站 16

选择品种为Object,用以创建main函数
澳门新浦京娱乐场网站 17

编写测量检验代码
澳门新浦京娱乐场网站 18

在代码空白处或项目名处右键-->Run 'ScalaTest'测验代码
澳门新浦京娱乐场网站 19

即使引入了pom.xml,暗中认可却不会活动import信任包,现身提醒选取“Auto-Import”
澳门新浦京娱乐场网站 20

测验结果
澳门新浦京娱乐场网站 21

之所以这一步这么详细是因为本人开采创立项指标时候选取哪一种project类型会很郁结,也不曾合法正式,经超过实际验,发扬先创立scala project再转变为maven project;假若创立的时候选拔了maven project,通过“Add Framework Support...”再引进Scala SDK也是能够的,最后效果和图中给出的多数,不过目录构造会有间隔。

注1:SCALA_HOME、JAVA_HOME在mac下设置方法:
~/.bash_profile中增多如下指令:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home
export SCALA_HOME=/Users/<你的名字>/tools/scala-2.12.6
export PATH=$JAVA_HOME/bin:$SCALA_HOME/bin:$PATH

参照文书档案:官方文书档案

二、创建一个Scala工程

各样点击Create New Project ——>Scala——>IDEA——>Next

澳门新浦京娱乐场网站 22

下一场大家供给点击create,扩展对应的SDK版本及岗位。

澳门新浦京娱乐场网站 23

投机填写好别的消息后就足以,点击Finish了。

澳门新浦京娱乐场网站 24  

  1. 法定文档: :克罗地亚语,全数版本的都在这里当中。最上流也相比较康健。
  2. 汉化的合阿拉伯语书档案 :v1.6合Romania语档汉化版。1.3.0到1.6里头API之间转换相当小,能够参照。

三、加多Maven框架以及编写pom.xml

率先右键项目名然后接收Add Framework Support...

澳门新浦京娱乐场网站 25

下一场找到maven打钩,点击Ok就能够.

澳门新浦京娱乐场网站 26

接下来,编写Pom.xml,如下:

<?xml version="1.0" encoding="UTF-8"?><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/xsd/maven-4.0.0.xsd">    <modelVersion>4.0.0</modelVersion>    <groupId>com.sudy</groupId>    <artifactId>SparkStudy</artifactId>    <version>1.0-SNAPSHOT</version>      <properties>        <spark.version>2.2.0</spark.version>        <scala.version>2.11</scala.version>    </properties>    <dependencies>        <dependency>            <groupId>org.apache.spark</groupId>            <artifactId>spark-core_${scala.version}</artifactId>            <version>${spark.version}</version>        </dependency>        <dependency>            <groupId>org.apache.spark</groupId>            <artifactId>spark-streaming_${scala.version}</artifactId>            <version>${spark.version}</version>        </dependency>        <dependency>            <groupId>org.apache.spark</groupId>            <artifactId>spark-sql_${scala.version}</artifactId>            <version>${spark.version}</version>        </dependency>        <dependency>            <groupId>org.apache.spark</groupId>            <artifactId>spark-hive_${scala.version}</artifactId>            <version>${spark.version}</version>        </dependency>        <dependency>            <groupId>org.apache.spark</groupId>            <artifactId>spark-mllib_${scala.version}</artifactId>            <version>${spark.version}</version>        </dependency>    </dependencies>    <build>        <plugins>            <plugin>                <groupId>org.scala-tools</groupId>                <artifactId>maven-scala-plugin</artifactId>                <version>2.15.2</version>                <executions>                    <execution>                        <goals>                            <goal>compile</goal>                            <goal>testCompile</goal>                        </goals>                    </execution>                </executions>            </plugin>            <plugin>                <artifactId>maven-compiler-plugin</artifactId>                <version>3.6.0</version>                <configuration>                    <source>1.8</source>                    <target>1.8</target>                </configuration>            </plugin>            <plugin>                <groupId>org.apache.maven.plugins</groupId>                <artifactId>maven-surefire-plugin</artifactId>                <configuration>                    <skip>true</skip>                </configuration>            </plugin>        </plugins>    </build></project>

2、安装Scala

本小节介绍IDEA、scala插件的安装,假若你已经安装好了IDEA & Scala插件,请直接跳过那豆蔻梢头节。

四、添加winutils.exe文件

winutils.exe下载地址:

解压后,记住归入的门路就好。

从scala官网( )下载windows版的压缩包,推荐2.8.1 final版,直接解压到相应目录中,假如为c:\scala-2.8.1.final,再加多下边多少个情况变量:

安装IDEA

只顾:JDK是必须的呐,何况是本子要1.8 哦 maven构建时会依据pom.xml中的配置从互联网饭店中下载依赖包,所以要联网,网速要好_

五、使用local形式测验景况是还是不是搭建设成功?

右键java文件夹,依次点击New——>Scala Class

澳门新浦京娱乐场网站 27

然后选用Object,输入名称就能够。

澳门新浦京娱乐场网站 28

写入测量检验代码:

澳门新浦京娱乐场网站 29

测验代码部分能够参照笔者在此之前写的少年老成篇博客的后半有的:

  • 新扩张意况变量SCALA_HOME,并设为c:\scala-2.8.1.final
  • 在本来就有情状变量Path中,追加值c:\scala-2.8.1.finalbin

安装Scala插件

设置完成后打开IDEA,采用"configure"-> "Plugins"

澳门新浦京娱乐场网站 30

招来"scala"未有结果,点击"Search in repositories"

澳门新浦京娱乐场网站 31

在搜索结果中选用"scala" 选拔“install”安装到位后要求重启

澳门新浦京娱乐场网站 32

摩登社区版的IDEA在安装实现后的初始分界面就曾经提供了"scala插件"的设置选用,直接采纳就可以scala插件是在用scala开拓斯Parker程序时所需求,即便只是用java开辟,能够不用安装,考虑到一时候会看scala代码,有这几个插件仍有益于广大

本小节经过用Scala和Java8个别完毕二个简约的总计单词个数的顺序为例,依次介绍工程成立、编码、测量试验运转、打包的全部进程。

分级选择Hadoop和Spark完成三次排序

为了我们有利这里复制出代码和测量试验文本:

import org.apache.spark.{SparkContext, SparkConf}import org.apache.spark.rdd.RDD.rddToOrderedRDDFunctionsimport org.apache.spark.rdd.RDD.rddToPairRDDFunctionsobject SecondarySort {  def main(args: Array[String]) {    System.setProperty("hadoop.home.dir", "D:\hadoop-common-2.2.0-bin-master")    val conf = new SparkConf().setAppName(" Secondary Sort ")      .setMaster("local")    var sc = new SparkContext    sc.setLogLevel("Warn")    //val file = sc.textFile("hdfs://localhost:9000/Spark/SecondarySort/Input/SecondarySort2.txt")    val file = sc.textFile("d:\TestData\SecondarySort.txt")    val rdd = file.map(line => line.split(","))      .map(x=>,x).groupByKey().sortByKey(false)      .map(x => (x._1._1 "-" x._1._2,x._2.toList.sortWith(_>_)))    rdd.foreach(      x=>{        val buf = new StringBuilder()        for(a <- x._2){          buf.append          buf.append(",")        }        buf.deleteCharAt(buf.length()-1)        println(x._1 " " buf.toString      })    sc.stop()  }}

测验文本如下:

2000,12,04,102000,11,01,202000,12,02,-202000,11,07,302000,11,24,-402012,12,21,302012,12,22,-202012,12,23,602012,12,24,702012,12,25,102013,01,23,902013,01,24,702013,01,20,-10

注意:

D:\hadoop-common-2.2.0-bin-master 是我解压后放入的路径。

d:\TestData\SecondarySort.txt 是测试数据的位置,用于程序的运行。


好了,这篇文章结束了,剩下就是你的动手操作了。

通过win->run-cmd展开命令行,输入scala,能出口版本消息注脚已设置成功  

始建筑工程程

  1. 新建筑工程程"create new project" -> "maven" ,如下图

    澳门新浦京娱乐场网站 33填写有关音信澳门新浦京娱乐场网站 34

  2. 始建scala代码目录IDEA的maven工程会默许成立java代码的目录,scala代码目录要求手工业创制,在"main"目录下新建“scala”目录 ,如下图

澳门新浦京娱乐场网站 35

  1. main/scala增添至源代码目录"File"->"project structure"(快速键:ALT CTPRADOL SHIFT S卡塔尔(英语:State of Qatar) ->"Modules"->" main/scala" 右键单击,接收 "Sources" 增加至源代码目录如下图澳门新浦京娱乐场网站 36

参考:

3、安装Eclipse

声称信赖

行使maven的裨益在于只需要在pom.xml注明依赖,后续工作maven会自动管理,而无需大家手工业下载每一种信任包增添到classpath中,此项目中我们须求在pom.xml中表明scala库、scala编写翻译插件及spark的依赖,在pom.xml中<project>标签中加多以下内容

<dependencies> <!--scala项目需要--> <dependency> <groupId>org.scala-lang</groupId> <artifactId>scala-compiler</artifactId> <version>2.10.4</version> <scope>compile</scope> </dependency> <!--spark程序依赖--> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-core_2.10</artifactId> <version>1.6.1</version> </dependency> </dependencies> <build> <plugins> <!--scala项目需要--> <plugin> <groupId>net.alchim31.maven</groupId> <artifactId>scala-maven-plugin</artifactId> <executions> <execution> <id>scala-compile-first</id> <!--[maven lifecycle](http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html)--> <phase>process-resources</phase> <goals> <goal>add-source</goal> <goal>compile</goal> </goals> </execution> </executions> </plugin> </plugins> </build>

注意:开荒重视的spark版本和scala的版本要同盟,<artifactId>spark-core_${scala.binary.version}</artifactId>,${scala.binary.version}要和spark编写翻译的scala版本相通,官方透露二进制的都以2.10

2017.10新型斯Parker、IDEA、Scala遭受搭建

到Eclipse官网()下载,直接解压就能够接收,推荐下载Eclipse Classic/Eclipse For Java。  

代码开荒

样例代码以总计文件中的单词个数为例,单词间以空格分开,计数不区分轻重缓急写。

待总结文件内容很简单如下x.txt,独有三行:Java vs Scalajava8 is goodscala is better

在scala目录上右键单击,选择“NEW”->"Scala Class" 如下图:

澳门新浦京娱乐场网站 37接下来在弹出的对话框中输入类名"WordCount",选用“Kind”为"object" 默认为class

//WordCount.scala

object WordCount { def main(args: Array[String]): Unit = { val conf = new SparkConf().setAppName("WorkCount").setMaster("local[2]") val sc = new SparkContext //从文件中创建RDD val rdd = sc.textFile("e:/x.txt") //文件中的单词用空格区分 rdd.flatMap(_.split .map(w =>  .reduceByKey .foreach }}

效用和scala同样,用JAVA8兑现代码也简要了重重,限了急需阐明类型外,差十分少和scala同样。右键单击“main/java”新建Java类 JWordCount//JWordCount.java

 public static void main(String[] args) { SparkConf conf = new SparkConf(); conf.setAppName("JWordCount"); conf.setMaster("local[2]"); JavaSparkContext sc = new JavaSparkContext; JavaRDD<String> rdd = sc.textFile("e:/x.txt"); rdd.flatMap(line-> Arrays.asList(line.split .mapToPair(w -> new Tuple2<String,Integer>(w.toLowerCase .reduceByKey->a b) .foreach(w-> System.out.println; }

Scala和Java程序运维情势同样,在左臂"project"窗口中右键单击文件,接收“Run 'WordCount'”(赶快键:Ctrl Shift F10卡塔尔,能够独家运维一下,以下是scala版运维的结果:

澳门新浦京娱乐场网站 38

src/main/javasrc/main/scala下独家放java和scala代码。可以用java完毕根基代码,在scala中调用。

诚如开垦时master不会写死,会由参数字传送进去,这种艺术得以边开开拓边疆测量试验,不需求布置意气风发套spark集群,升高支付功能。在IDEA中能够通过"Run"->"Editor Configurations"->"增加 or 选取 主类"-> "program arguments" 来增添程序参数,以福利测验,借使开辟条件能够一贯连接spark集群,能够直接传入master之处,提交至集群中运营。

创造三个依照maven的spark项目所急需的pom.xml文件模板

4、安装Android SDK

打包

前后相继支付实现不管最后是以spark on yarn 依然spark standalone格局运转,都须要首先要将开拓的主次以至依赖打成jar包,然前几天常会因而spark-submit其后生可畏脚本来提交至集群中运维。在IDEA Maven的条件下得以用maven来打包,也足以用IDEA来打包,各自有各自的亮点,maven作用强盛灵活,能够实现部分复杂的流程和功力,且能够脱离IDEA运维在指令行中,能够和其它自动化学工业具方便集成,但刚劲成效配置起来相比辛勤。IDEA本身的打包相对简便易行,对普通费用充足用了。

任由是用java还是scala开采的spark程序,提交到集群时,spark自个儿及其信赖是不要求打包到程序中的,也正是说要打入程序包中的是除spark以至其依赖之外的包是亟需打入程序包中的。像本文的事例程序只重视scala和spark自己,spark信任scala,所以只须求打包开拓的主次就可以,不需求打入其余正视包,用IDEA或Maven打包都很便利,下边分别介绍三种包装方式。

打开"maven project": "view"->"tool windows"->"maven project"

澳门新浦京娱乐场网站 39

在"maven project" 中挑选 "lifecycle"->package 右单击选用"Run Maven Build" 运维停止后,工程中的scala的java都会被编码打包。工程目录下的target/下会有jar包生成,如下图。

澳门新浦京娱乐场网站 40

地点其实是在实行maven的命令mvn package,要是您本地安装好了maven,能够直接在命令行下到pom.xml所在的目录中奉行各样maven命令,而不用每回都要在IDEA中试行。maven更加的多内容和各个NB的插件能够问狗哥或度娘!

IDEA要稍显复杂,要多点四回鼠标,供给先成立多个artifacts下一场在历次须求打包时在build artifacts中精选这些artifacts推行就能够。

  1. 开创三个artifacts"File"->"project structure"(快捷键:ALT CTQashqaiL SHIFT S卡塔尔(英语:State of Qatar) ->"artifacts"->选取" " ->"jar"->"empty"在"Name"中填入jar名称 ,"Output directory"为输入jar包的门道,然后在"available elements"中右单击'helloss compile output'接受'pack into Output Root',点'OK'保存,如下图

'helloss compile output'只是您眼下工程中源码编写翻译出来的class。假若要打入别的重视包,也在这里选用参预就可以

澳门新浦京娱乐场网站 41

  1. 打包:“build”->"build artifacts"->"helloss"->"build"即可

    澳门新浦京娱乐场网站 42

完全代码见: 临盆条件中要提交到集群中运维时平时会用spark-submit来交给运维,相符以下语句:spark-submit --master yarn-client --num-executors 10 --executor-memory 20g --executor-cores 10 --class "WordCount" helloss-1.0-SNAPSHOT.jar集群布置格局不近似 --master 后边的参数分化等,部分参数也许有部分分化, 越来越多消息能够参照他事他说加以侦察: ,程序的构造和平运动作监督后续会有单独开展介绍。

日常意况开采的spark程序不会以local格局正式运营,但能以如此形式运营对于开垦、测量检验特别方便,须求专一的是有个别情形local方式运维准确,但在集群中不必然能精确运行。因为以local格局运转时斯Parker的兼具剧中人物(Driver,Master,Worker,Executor卡塔尔国f是在本地的同贰个JVM中,以多少个线程运维,具体的职分施行是三个或七个线程,而集群中运营时是例外机器不相同的JVM中运转,须求小心并发难题。

上述介绍完了IDEA Maven意况下用scala和java各开辟了三个简单单词计数斯Parker程序的欧洲经济共同体进程,包罗支付蒙受搭建,工程创造,代码开采,甚至测量检验运维,打包。在这里个顺序中数据源来自文件,程序运转时须求管理的多少已规定,数据管理完成,程序停止。然则借使数量是动态的,继续不停的,举例来自socket或信息队列中时,要简明及时的处理这个数量时就须求引进流管理了,上面介绍用spark streaming从kafka中执会考察总括局计单词个数的演示程序。

java.io.IOException: Could not locate executable nullbinwinutils.exe in the Hadoop binaries

到android开辟社区(卡塔尔下载安装。安装后跻身始发 > 全数程序 > Android SDK > SDK Manager程序,软件会提示有个别可安装的换代,我们能够依据需求选取安装,提出设置上边图中所示的: 澳门新浦京娱乐场网站 43

运营境况

假若你不是很理解kafka或发轫头尚无得以应用的kafka集群,能够用以下措施相当慢搭建二个测量试验遭逢。本文情况为windows VMware,kafka是在vmware下的centos中运作,centos的hostname:vm-centos-00,IP:192.168.99.130

kafka也能够平素在windows中运转,运维bin/windows下的开发银行脚本就可以。注意:澳门新浦京娱乐场网站:Maven开垦条件搭建附测验,开垦工具篇。要是kafka和客商和服务器以至zookeeper未有在平等台机器上时,供给将kafka server和zookeeper的hostname加到买主机器的hosts文件中。比如本文中,供给在windows的C:澳门新浦京娱乐场网站:Maven开垦条件搭建附测验,开垦工具篇。WINDOWSSystem32driversetchosts文本中增多一条记下192.168.99.130 vm-centos-00 不然花费时会出错

  1. 下载kafka: wget http://mirror.bit.edu.cn/apache/kafka/0.9.0.0/kafka_2.10-0.9.0.0.tgz
  2. 解压: tar zxvf kafka_2.10-0.9.0.0.tgz
  3. 启动kafka:
 cd kafka_2.10-0.9.0.0 ## 启动zookeeper bin/zookeeper-server-start.sh config/zookeeper.properties ## 新开一个终端窗口,启动kafka bin/kafka-server-start.sh config/server.properties
  1. 创建topic:bin/kafka-topics.sh --create --zookeeper vm-centos-00:2181 --replication-factor 1 --partitions 3 --topic helloss
  2. 运行分娩者bin/kafka-console-producer.sh --broker-list vm-centos-00:9092 --topic helloss
  3. 启航购买者bin/kafka-console-consumer.sh --zookeeper vm-centos-00:2181 --from-beginning --topic helloss 能够在劳动者窗户中输入消息,在购买者窗口中查看。测量检验准确后方可进去下一步

之后是深刻的等待...

创办工程

这一步和spark程序相符,为平价起间,本文直接在前头spark程序工程中加多代码

装ADT Plugin for Eclipse

增进信任

亟待增加scala库、scala编写翻译插件是必须的。斯ParkerStreaming和以致与卡夫卡的集成信赖包也必要引进,在前面spark程序的连串底工上,在pom.xml中增多以下内容

是因为spark streaming正视spark core,所以在pom.xml中增添spark streaming后,能够毫不显式表明spark core的信任,spark core的依赖会活动加进去

 <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-streaming_2.10</artifactId> <version>1.6.1</version> </dependency><!--与kafka集成时需要--> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-streaming-kafka_2.10</artifactId> <version>1.6.1</version> </dependency>

等候android sdk安装好后,张开Eclipse,进入菜单Help > Install New Software....,点击Add,增多链接

代码开拓

在scala目录上右键单击,选拔“NEW”->"Scala Class",新扩充叁个名字为SSWordCount的object。代码如下

//SSWordCount.scala

object SSWordCount { def main(args: Array[String]): Unit = { //方便起间,程序中写死以local方式运行 val sparkConf = new SparkConf().setAppName("SSWordCount").setMaster("local[2]") //每10秒钟统计一次接收到单词数 val ssc = new StreamingContext(sparkConf, Seconds val topicMap = Map("helloss"-> 1) val messages = KafkaUtils.createStream(ssc,"vm-centos-00:2181","ss-group",topicMap) val r = messages.map.flatMap(_.split.map.reduceByKey //只打印10记录,实际中一般会保存到HDFS,Redis,Kafka中 //spark streaming需要一个Output Operations来触发执行,否则再多的Transformations也不会执行 r.print //启动Streaming程序 ssc.start() ssc.awaitTermination() }}

//JSSWordCount.java

 public static void main(String[] args) { SparkConf conf = new SparkConf(); conf.setAppName("JSSWordCount"); conf.setMaster("local[2]"); JavaStreamingContext jssc = new JavaStreamingContext(conf, Durations.seconds; Map<String, Integer> topicMap = new HashMap<>(); topicMap.put("helloss",1); JavaPairReceiverInputDStream<String, String> messages = KafkaUtils.createStream(jssc, "vm-centos-00:2181","ss-group",topicMap); JavaPairDStream<String, Integer> r = messages.map(x -> x._2 .flatMap(line -> Arrays.asList(line.split .mapToPair(w -> new Tuple2<String, Integer>(w.toLowerCase .reduceByKey -> a   b); r.print; jssc.start(); jssc.awaitTermination(); }

完全代码见: 运路程序后,在前方张开的买主窗口中输入消息

澳门新浦京娱乐场网站 44在IDEA中观测输出景况,可以观望近似如下输出:澳门新浦京娱乐场网站 45

能够通过斯Parker Web UI

澳门新浦京娱乐场网站 46

装进、布署运维和spark程序还没分别,但须要小心的是spark程序管理停止后会自动退出,释放财富。而spark streaming管理的是连连不停的多少,程序不会脱离,固然kafka中一向不数量也不会释放能源,更不会脱离,真到人工结束(出错了自然就终止了:

本文只是简短的牵线了开采工具安装、配置,并透过五个简单的事例介绍了IDEA Maven意况下接受Java8和Scala的支出spark和spark streaming程序的进程。斯Parker、SparkStreaming以至卡夫卡涉及多数知识点,详细的配置情势以致参数设置,运维监察和控制等持续会逐年整理介绍。

接二连三有更新会在github先更新

https://dl-ssl.google.com/android/eclipse/

勾选全部项目,然后点击Next安装。

澳门新浦京娱乐场网站 47 澳门新浦京娱乐场网站 48

设置到位不分畛域启Eclipse后,走入菜单Window > Preferences > Android,点击Browser,把门路指向android sdk的装置目录,然后点击Apply澳门新浦京娱乐场网站 49

6、安装Scala IDE Plugin

打开Eclipse,踏入菜单Help > Install New Software....,点击Add,增添链接

http://download.scala-ide.org/releases-28/2.0.0-beta

勾选安装下边两项: JDT weaving For scala Scala IDE for Eclipse 

澳门新浦京娱乐场网站 50 澳门新浦京娱乐场网站 51

7、安装Treesaker 

打开Eclipse,步向菜单Help > Install New Software....,点击Add,增加链接

http://treeshaker.googlecode.com/svn/trunk/update_site/

勾选treeshaker,点击Next安装。

澳门新浦京娱乐场网站 52 澳门新浦京娱乐场网站 53

treeshaker是三个开源的辅助插件,详细能够访问项目地址:  

8、简单的helloworld

Eclipse中打开File > New > Project > Android Project澳门新浦京娱乐场网站,创立一个新的android工程项目: 澳门新浦京娱乐场网站 54

按上边包车型大巴手续把java的类别转为scala的连串:

1、把src文件夹重命名称为_src(右键src > Refactor > Rename)

2、右键HelloWorld项目 > Configure > Add Scala Nature

3、右键HelloWorld项目 > Add/Remove Treeshaker

4、展开菜单Project > Properties > Builders,确认保障builder的次第和如下相近:

  • Android Resource Manager
  • Android Pre Compiler
  • Scala Builder
  • Treeshaker
  • Android Package Builder

5、打开reslayoutmain.xml,把上边的内容替换<LinearLayout>中的内容:

<TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="@string/hello"
    android:id="@ id/text"
/>
<Button
    android:id="@ id/button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Click me"
/>

5、删除_src下的源文件HelloWorldActivity.java

6、成立新的scala代码文件,右键包com.test,选拔New > Other > Scala Class 澳门新浦京娱乐场网站 55

Name设为HelloWorldActivty,Superclass设为android.app.Activity 7、校正HelloWorldActivity.scala文件: 扩充导入:

import android.os.Bundle
import android.view.View
import android.widget.TextView
import android.widget.Button
import R._

HelloWorldAcitvity类中扩展代码:

override def onCreate(savedInstanceState: Bundle) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.main)

        val textView = findViewById(R.id.text).asInstanceOf[TextView]
        val button = findViewById(R.id.button).asInstanceOf[Button]

        button.setOnClickListener((v: View) => textView.setText("Hello Scala"))
}

implicit def func2OnClickListener(func : (View) => Unit) : View.OnClickListener = {
        return new View.OnClickListener() {
                override def onClick(v: View) = func(v)
        }
}

8、通过菜单Run > Run,应该能健康编写翻译并在android模拟器中运行了

 

扩展阅读: CreateNewScalaProject ScalaでAndroidアプリ開発  Building Android Apps with Scala - IntelliJ  Exploring Android With Scala

本文由澳门新浦京娱乐场网站发布于数据库,转载请注明出处:澳门新浦京娱乐场网站:Maven开垦条件搭建附测验