日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

第一个Spark程序

發(fā)布時間:2023/12/10 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第一个Spark程序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、Java下Spark開發(fā)環(huán)境搭建(from?http://www.cnblogs.com/eczhou/p/5216918.html

1.1、jdk安裝

安裝oracle下的jdk,我安裝的是jdk 1.7,安裝完新建系統環(huán)境變量JAVA_HOME,變量值為“C:\Program Files\Java\jdk1.7.0_79”,視自己安裝路勁而定。

同時在系統變量Path下添加C:\Program Files\Java\jdk1.7.0_79\bin和C:\Program Files\Java\jre7\bin。

1.2 spark環(huán)境變量配置

去http://spark.apache.org/downloads.html網站下載相應hadoop對應的版本,我下載的是spark-1.6.0-bin-hadoop2.6.tgz,spark版本是1.6,對應的hadoop版本是2.6

解壓下載的文件,假設解壓 目錄為:D:\spark-1.6.0-bin-hadoop2.6。將D:\spark-1.6.0-bin-hadoop2.6\bin添加到系統Path變量,同時新建SPARK_HOME變量,變量值為:D:\spark-1.6.0-bin-hadoop2.6

1.3 hadoop工具包安裝

spark是基于hadoop之上的,運行過程中會調用相關hadoop庫,如果沒配置相關hadoop運行環(huán)境,會提示相關出錯信息,雖然也不影響運行,但是這里還是把hadoop相關庫也配置好吧。

1.3.1 去下載hadoop 2.6編譯好的包https://www.barik.net/archive/2015/01/19/172716/,我下載的是hadoop-2.6.0.tar.gz,

1.3.2 解壓下載的文件夾,將相關庫添加到系統Path變量中:D:\hadoop-2.6.0\bin;同時新建HADOOP_HOME變量,變量值為:D:\hadoop-2.6.0

1.4 eclipse環(huán)境

直接新建java工程,將D:\spark-1.6.0-bin-hadoop2.6\lib下的spark-assembly-1.6.0-hadoop2.6.0.jar添加到工程中就可以了。

?

2、Java寫Spark WordCount程序

package?cn.spark.study;

import?java.util.Arrays;

import?org.apache.spark.SparkConf;
import?org.apache.spark.api.java.JavaPairRDD;
import?org.apache.spark.api.java.JavaRDD;
import?org.apache.spark.api.java.JavaSparkContext;
import?org.apache.spark.api.java.function.FlatMapFunction;
import?org.apache.spark.api.java.function.Function2;
import?org.apache.spark.api.java.function.PairFunction;
import?org.apache.spark.api.java.function.VoidFunction;

import?scala.Tuple2;


public?class?WordCount?{
????public?static?void?main(String[]?args)?{
????????
????????//創(chuàng)建?SparkConf對象,對程序進行必要的配置
????????SparkConf?conf?=?new?SparkConf()
????????.setAppName("WordCount").setMaster("local");
????????
????????//通過conf創(chuàng)建上下文對象
????????JavaSparkContext?sc?=?new?JavaSparkContext(conf);
????????
????????//創(chuàng)建初始RDD
????????JavaRDD<String>?lines?=?sc.textFile("D://spark.txt");
????????
????????//----用各種Transformation算子對RDD進行操作-----------------------------------------
????????JavaRDD<String>?words?=?lines.flatMap(new?FlatMapFunction<String,?String>()?{

????????????private?static?final?long?serialVersionUID?=?1L;

????????????@Override
????????????public?Iterable<String>?call(String?line)?throws?Exception?{
????????????????//?TODO?Auto-generated?method?stub
????????????????return?Arrays.asList(line.split("?"));
????????????}
????????});
????????
????????JavaPairRDD<String,Integer>?pairs?=?words.mapToPair(new?PairFunction<String,?String,?Integer>()?{

????????????private?static?final?long?serialVersionUID?=?1L;

????????????@Override
????????????public?Tuple2<String,?Integer>?call(String?word)?throws?Exception?{
????????????????//?TODO?Auto-generated?method?stub
????????????????return?new?Tuple2<String,Integer>(word,1);
????????????}
????????});
????????
????????JavaPairRDD<String,Integer>?wordCounts?=?pairs.reduceByKey(new?Function2<Integer,?Integer,?Integer>()?{
????????????
????????????private?static?final?long?serialVersionUID?=?1L;
????????????
????????????@Override
????????????public?Integer?call(Integer?v1,?Integer?v2)?throws?Exception?{
????????????????//?TODO?Auto-generated?method?stub
????????????????return?v1?+?v2;
????????????}
????????});
????????
????????
????????//----用一個?action?算子觸發(fā)job-----------------------------------------
????????wordCounts.foreach(new?VoidFunction<Tuple2<String,Integer>>()?{
????????????
????????????@Override
????????????public?void?call(Tuple2<String,?Integer>?wordCount)?throws?Exception?{
????????????????//?TODO?Auto-generated?method?stub
????????????????System.out.println(wordCount._1?+?"?appeared?"?+?wordCount._2?+?"?times");
????????????}
????????});
????}

}?

?

轉載于:https://www.cnblogs.com/key1309/p/5303557.html

總結

以上是生活随笔為你收集整理的第一个Spark程序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。