2016-12-24 14 views
0

ADAMおよびZeppelinを使用してゲノム解析を試みること。私はこの権利をしているが、以下の問題にぶつかっているのかどうかはわかりません。Spark、ADAMおよびZeppelin

%dep 
z.reset() 
z.addRepo("Spark Packages Repo").url("http://dl.bintray.com/spark-packages/maven") 
z.load("com.databricks:spark-csv_2.10:1.2.0") 
z.load("mysql:mysql-connector-java:5.1.35") 
z.load("org.bdgenomics.adam:adam-core_2.10:0.20.0") 
z.load("org.bdgenomics.adam:adam-cli_2.10:0.20.0") 
z.load("org.bdgenomics.adam:adam-apis_2.10:0.20.0") 

%spark 

import org.bdgenomics.adam.rdd.ADAMContext._ 
import org.bdgenomics.adam.rdd.ADAMContext 
import org.bdgenomics.adam.projections.{ AlignmentRecordField, Projection } 
import org.apache.spark.SparkContext 
import org.apache.spark.SparkConf 
import org.bdgenomics.adam.rdd.ADAMContext 
import org.bdgenomics.adam.rdd.ADAMContext._ 
import org.bdgenomics.adam.projections.Projection 
import org.bdgenomics.adam.projections.AlignmentRecordField 
import scala.io.Source 
import org.apache.spark.rdd.RDD 
import org.bdgenomics.formats.avro.Genotype 
import scala.collection.JavaConverters._ 
import org.bdgenomics.formats.avro._ 
import org.apache.spark.SparkContext._ 
import org.apache.spark.mllib.linalg.{ Vector => MLVector, Vectors } 
import org.apache.spark.mllib.clustering.{ KMeans, KMeansModel } 

val ac = new ADAMContext(sc) 

と私はエラー

import org.bdgenomics.adam.rdd.ADAMContext._ 
import org.bdgenomics.adam.rdd.ADAMContext 
import org.bdgenomics.adam.projections.{AlignmentRecordField, Projection} 
import org.apache.spark.SparkContext 
import org.apache.spark.SparkConf 
import org.bdgenomics.adam.rdd.ADAMContext 
import org.bdgenomics.adam.rdd.ADAMContext._ 
import org.bdgenomics.adam.projections.Projection 
import org.bdgenomics.adam.projections.AlignmentRecordField 
import scala.io.Source 
import org.apache.spark.rdd.RDD 
import org.bdgenomics.formats.avro.Genotype 
import scala.collection.JavaConverters._ 
import org.bdgenomics.formats.avro._ 
import org.apache.spark.SparkContext._ 
import org.apache.spark.mllib.linalg.{Vector=>MLVector, Vectors} 
import org.apache.spark.mllib.clustering.{KMeans, KMeansModel} 
res7: org.apache.spark.SparkContext = [email protected] 
<console>:188: error: constructor ADAMContext in class ADAMContext cannot be accessed in class $iwC 
       new ADAMContext(sc) 

見るために、任意のアイデアと、次の出力を得ますか?依存関係がありませんか? ^

答えて

2

バージョン番号ADAMContext.scalaを使用してください。コンストラクタはprivateです。

class ADAMContext private (@transient val sc: SparkContext) 
    extends Serializable with Logging { 
    ... 
} 

代わりにこのように使用できます。

import org.bdgenomics.adam.rdd.ADAMContext._ 

val adamContext: ADAMContext = z.sc 

は、それはZ基準を使用せずに作業を行った

object ADAMContext { 
    implicit def sparkContextToADAMContext(sc: SparkContext): ADAMContext = 
     new ADAMContext(sc) 
} 
+0

私はそれを試し、オブジェクトがヌル '%スパーク ヴァル交流であると思われる:ADAMContext = SC AC:org.bdgenomics.adam.rdd.ADAMContext = null'なので –

0

オブジェクトADAMContextで暗黙的な変換を使用します!

val ac:ADAMContext = sc 
val genotypes: RDD[Genotype] = ac.loadGenotypes("/tmp/ADAM2").rdd 

出力

ac: org.bdgenomics.adam.rdd.ADAMContext = [email protected] 

genotypes: 
org.apache.spark.rdd.RDD[org.bdgenomics.formats.avro.Genotype] = MapPartitionsRDD[3] at map at ADAMContext.scala:207 

Iは、ADAM-シェルプロンプトでこれをやってみました、私は暗黙の型変換を使用する必要が覚えていません。それはADAMの0.19バージョンを使用していました。