0
私は、コードを実行するためにScala 2.11.8とSpark 2.0.1を使用します。このコード行では:ScalaとSparkを実行する際のエラー
import org.apache.spark.SparkConf
import org.apache.spark.SparkContext
object training {
def main(args: Array[String]): Unit = {
val conf = new SparkConf().setAppName("test").setMaster("local[4]")
val sc = new SparkContext(conf)
val data = sc.textFile("/home/ahoora/data.csv")
// create RDDs from data in form (user, product, price)
data.map(line => line.split(",")).map(purchaserecord => (purchaserecord(0), purchaserecord(1), purchaserecord(2)))
// Our total revenue
val totalRevenue = data.map{ case (user, product, price) => price.toDouble}.sum()
sc.stop()
}
}
このコードはScala 2.10.xとSpark 1.Xに基づいていますが、バージョン管理のためにエラーが発生していると思います。 RCSとして(ユーザー、製品、価格)で分割した.csvファイルからデータを読み取りました。すべてのことは正しいが、ここでは方法toDouble
は解決されていない。それを行う正しい方法は何ですか?
データは、あなたは、元の(RDD[String]
を入力した場合)data
なく変更RDDを使用している
あなたの問題を再現するために、あなたが持っているエラーと十分なコードを追加してください:RDDSはあなたがその変換から返された値を使用する必要があります変換(のような
map
)の結果を使用したい場合は、不変です。 – maasgコードを再コンパイルしましたか? scala 2.10.xでコンパイルされたコードを使用すると、問題が発生します。また、価格の種類は何ですか?どこかから読んだら、サポートされていないタイプに変換されている可能性があります。たとえば、priceが2倍でない文字列の場合、問題が発生する可能性があります。また、stringがnullの場合、同様の問題が発生する可能性があります。正確なエラーメッセージは何ですか? –