Scala IDE for Eclipse的下載、安裝和WordCount的初步使用(本地模式和集群模式)


  

   不多說,直接上干貨!

 

 

  

這篇博客是, 

  是在Scala IDEA for Eclipse里maven創建scala和java代碼編寫環境。

Scala IDEA for Eclipse里用maven來創建scala和java項目代碼環境(圖文詳解)

 

 

 

 

 

 

本博文包括:

   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 IDE for Eclipse的安裝

進行解壓

 

 

 

 

 

  3、Scala IDE for Eclipse的WordCount的初步使用

 在這之前,先在本地里安裝好java和scala

 

 

  因為,我這篇博客,是面向基礎的博友而分享的。所以,在此,是在Scala IDE for Eclipse里,手動新建scala項目。

 

注意:推薦使用IDEA , 當然有人肯定還依依不舍Scala IDE for Eclipse。

則,如下是我寫的另一篇博客

Scala IDEA for Eclipse里用maven來創建scala和java項目代碼環境(圖文詳解)

 

 

 

 

 

 

 

 

 

 

 

默認竟然變成了scala 2.11.8去了

這一定要換!

         Scala2.11.8(默認的版本)   -------->      scala2.10.4(我們的版本)

 

 

 

 

 

第一步:修改依賴的scala版本,從scala2.11.*,至scala2.10.*。

 

 

 

這里是兼容版本,沒問題。Scala2.10.6和我們的scala2.10.4沒關系!!!

 

 

 

 

 

第二步:加入spark的jar文件依賴

http://spark.apache.org/downloads.html

我這里,以spark-1.5.2-bin-hadoop2.6.tgz為例,其他版本都是類似的,很簡單!

 

 

http://www.apache.org/dyn/closer.lua/spark/spark-1.5.2/spark-1.5.2-bin-hadoop2.6.tgz

 

 

 

 

 

 

第三步:找到spark依賴的jar文件,並導入到Scala IDE for Eclipse的jar依賴中

 

添加Spark的jar依賴spark-1.5.2-bin-hadoop2.6.tgz里的lib目錄下的spark-assembly-1.5.2-hadoop2.6.0.jar

 

 

 

 

 

第四步:在src下,建立spark工程包

 

 

 

 

 

 

第五步:創建scala入口類

 

 

定義main方法

 

 

 

 

 

第六步:把class變成object,並編寫main入口方法。

 

 

本地模式

第1步

 

第2步

 

第3步

 

 

 

 第4步

 

 第5步

 

第6步

 

 

 

 

 

集群模式

  這里,學會巧,復制粘貼,WordCount.scala 為 WordCount_Clutser.scala。

 

 

 

 

 

 

現在呢,來從Linux里,拷貝文件到hadoop集群里

即,將

     /usr/local/spark/spark-1.5.2-bin-hadoop2.6/README.md   到  / 或  hdfs://SparkSingleNode:9000

spark@SparkSingleNode:/usr/local/hadoop/hadoop-2.6.0$ pwd
/usr/local/hadoop/hadoop-2.6.0
spark@SparkSingleNode:/usr/local/hadoop/hadoop-2.6.0$ bin/hadoop fs -copyFromLocal /usr/local/spark/spark-1.5.2-bin-hadoop2.6/README.md  hdfs://SparkSingleNode:9000/
spark@SparkSingleNode:/usr/local/hadoop/hadoop-2.6.0$ bin/hadoop fs -ls /
Found 2 items
-rw-r--r-- 1 spark supergroup 3593 2016-09-18 10:15 /README.md
drwx-wx-wx - spark supergroup 0 2016-09-09 16:28 /tmp
spark@SparkSingleNode:/usr/local/hadoop/hadoop-2.6.0$

 

// val lines:RDD[String] = sc.textFile("D://SoftWare//spark-1.6.2-bin-hadoop2.6//README.md", 1)//path指的是文件路徑,minPartitions指的是最小並行度
// val lines = sc.textFile("D://SoftWare//spark-1.6.2-bin-hadoop2.6//README.md", 1)//path指的是文件路徑,minPartitions指的是最小並行度
// val lines = sc.textFile("hdfs://SparkSingleNode:9000/README.md", 1)//沒必要會感知上下文
// val lines = sc.textFile("/README.md", 1)//path指的是文件路徑,minPartitions指的是最小並行度
val lines = sc.textFile("/README.md")//為什么,這里不寫並行度了呢?因為,hdfs會有一個默認的

 

 

如,我們的這里/里,有188個文件,每個文件小於128M。

所以,會有128個小集合。

當然,若是大於的話,我們可以人為干預,如3等

 

做好程序修改之后,

我這里啊,遇到如上的錯誤。

http://blog.csdn.net/weipanp/article/details/42713121 

(3)Exception in thread "main" java.lang.UnsatisfiedLinkError: org.apache.hadoop.util.NativeCrc32.nativeComputeChunkedSumsByteArray(II[BI[BIILjava/lang/String;JZ)V

at org.apache.hadoop.util.NativeCrc32.nativeComputeChunkedSumsByteArray(Native Method)

修復方法:在hadoop2.6源碼里找到NativeCrc32.java,創建與源碼一樣的包名,拷貝NativeCrc32.java到該包工程目錄下。

 

hadoop-2.6.0-src/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/NativeCrc32.java

 

 

以及,缺少hadoop.dll,注意是64位的。放到hadoop-2.6.0下的bin目錄下

 

 

 玩玩spark-1.5.2-bin-hadoop2.6.tgz

 繼續,,,出現了一些問題!

 

 

其實啊,在集群里,模板就是如下

val file = spark.textFile("hdfs://...”)

val counts = file.flatMap("line => line.spilt(" "))

        .map(word => (word,1))

        .reduceByKey(_+_)

 counts.saveAsTextFile("hdfs://...”)

 

 

 

 

 

 

 

 

 

 

 

歡迎大家,加入我的微信公眾號:大數據躺過的坑     免費給分享
 
 
 

同時,大家可以關注我的個人博客

   http://www.cnblogs.com/zlslch/   和  http://www.cnblogs.com/lchzls/ 

 

  人生苦短,我願分享。本公眾號將秉持活到老學到老學習無休止的交流分享開源精神,匯聚於互聯網和個人學習工作的精華干貨知識,一切來於互聯網,反饋回互聯網。
  目前研究領域:大數據、機器學習、深度學習、人工智能、數據挖掘、數據分析。 語言涉及:Java、Scala、Python、Shell、Linux等 。同時還涉及平常所使用的手機、電腦和互聯網上的使用技巧、問題和實用軟件。 只要你一直關注和呆在群里,每天必須有收獲

 

       以及對應本平台的QQ群:161156071(大數據躺過的坑)

 

 

 

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM