LoginSignup
2
2

More than 5 years have passed since last update.

Apache Spark - RDDのjoin関数が見つからずコンパイルエラーになる場合の対処方法

Last updated at Posted at 2015-01-06

Spark RDDのjoin関数が見つからずエラーが発生する場合の対処方法について以下に記述します

現象

SparkにはRDD(K,V)とRDD(K,W)を結合してRDD(K, (V,W))を作成するjoinという関数があります

例えば以下のように使います

test.scala
    case class tbla(key:String, val:Int)
    case class tblb(key:String, val2:Int)

    (中略)

    val tblaWithKey = tbla.map(n => (tbla.key, n))
    val tblbWithKey = tblb.map(n => (tblb.key, n))

    tblaWithKey.join(tblbWithKey)

しかしこのソースをコンパイルすると

error: value join is not a member of org.apache.spark.rdd.RDD[(String, Int)]

というエラーが発生して止まることがあります

対応方法

以下のimport文を追加してください

test.scala
import org.apache.spark.SparkContext._

このjoin関数はRDDのメンバ関数ではなく、PairRDDFunctionsというクラスのメンバになります
Importしていない場合、このPairRDDFunctionsが見つからず結果joinも使えなくなってしまうというわけです

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2