2016-08-25 40 views
0

我現在看Spark Github的github存儲庫。在類ALS.scala我嘗試瞭解如何組織import語句。如果我做Scala中的一個新項目,並嘗試做我的主人斯卡拉類的import語句,我可以做下輸入:在Scala中導入statemets

import java.{util => ju} 
import java.io.IOException 

import scala.collection.mutable 
import scala.reflect.ClassTag 
import scala.util.Sorting 
import scala.util.hashing.byteswap64 

無論如何,如果我嘗試做一個Spark進口(例如PARAM) :

import com.github.fommil.netlib.BLAS.{getInstance => blas} 
import org.apache.hadoop.fs.Path 
import org.json4s.DefaultFormats 
import org.json4s.JsonDSL._ 

import org.apache.spark.{Dependency, Partitioner, ShuffleDependency, SparkContext} 
import org.apache.spark.annotation.{DeveloperApi, Since} 
import org.apache.spark.internal.Logging 
import org.apache.spark.ml.{Estimator, Model} 
.... 

我得到一個警告消息:

對象{阿帕奇,gizhub,json4s}不是封裝組織的成員

我已經從本地機器上的Github存儲庫下載了一個Spark包。看完後,我在硬盤上找到了一些本地訂單。例如在存儲庫:

/home/usr/spark/mllib/src/main/scala 

/org/apache/spark/ml/param 

我的問題是,我怎麼能組織此文件夾的進口在我的Scala程序?對不起,我是Scala的新手,目前無法理解Eclipse中Scala的導入組織...

回答

1

如果你是scala的新手,我會推薦使用SBT來管理你的依賴關係,尤其是當你導入新庫到您的斯卡拉項目

  1. 下載Eclipse IDE斯卡拉從scala-ide.org
  2. 解壓到某個地方
  3. 下載和安裝scala-sbt.org SBT並設置SBT_HOME到安裝
  4. 下載的根星球之火k.apache.org/downloads.html
  5. 解壓到某個地方,並設置SPARK_HOME env中解壓縮文件
  6. 下載64位winutils.exe的可變根從https://github.com/steveloughran/winutils
  7. 解壓縮從GitHub的文件夾,並安裝它的地方
  8. 將HADOOP_HOME env變量設置爲winutile.exe所在的路徑。 9決定項目的根位置說C:\ myFirstProject
  9. 通過創建一個plugins文件夾到項目的根目錄,並添加跟隨着線將其添加sbteclipse插件(https://github.com/typesafehub/sbteclipse)到SBT:

    addSbtPlugin(「com.typesafe .sbteclipse「%」sbteclipse-plugin「%」4.0.0「)

  10. 從命令提示符打開sbt並鍵入eclipse以確保插件正在工作。

  11. 手動創建的基本文件夾結構來項目根:

    SRC/ 主/ 資源/ 階/ 的java/ 測試/ 資源 階/ 的java/

  12. 創建一個build.sbt文件並向其中添加以下代碼行以支持apache spark:

    lazy val root =(project in file(「。」))。 設置(
    名稱:= 「MyFirstProject」, 版本:= 「1.0」, scalaVersion:= 「2.10.4」 ) libraryDependencies ++ =列表( 「org.apache.spark」 %%「火花-core「%」1.3.0「, 」org.apache.spark「%%」spark-sql「%」1.3.0「, 」org.apache.spark「%%」spark-hive「%」1.3 .0「, )

  13. 這個命名你的項目,給它一個版本並強制它使用一個特定版本的scala,並且添加依賴以支持spark。

如果您需要更多信息,我可以添加到此主題,希望這可以幫助。 保羅。

+0

非常感謝。我已經完成了一些你的觀點。你的指導看起來很有希望。我會盡全力去做。感謝 – Guforu

+0

一些小問題,我已經在.bashrc中使用路徑定義安裝了Hadoop(我使用的是Ubuntu)。我可以通過步驟6和7嗎?我也可以給我完整的安裝清單。主要問題是隻有Scala – Guforu

+0

如果你需要更多的讓我知道;-)我也是一個階段的Scala/Spak的新手! – Paul