从数据解析一行到类中时出错。星火Mllib

问题描述:

我这个代码实现:从数据解析一行到类中时出错。星火Mllib

scala> import org.apache.spark._ 

scala> import org.apache.spark.rdd.RDD 
import org.apache.spark.rdd.RDD 

scala> import org.apache.spark.util.IntParam 
import org.apache.spark.util.IntParam 

scala> import org.apache.spark.graphx._ 
import org.apache.spark.graphx._ 

scala> import org.apache.spark.graphx.util.GraphGenerators 
import org.apache.spark.graphx.util.GraphGenerators 

scala> case class Transactions(ID:Long,Chain:Int,Dept:Int,Category:Int,Company:Long,Brand:Long,Date:String,ProductSize:Int,ProductMeasure:String,PurchaseQuantity:Int,PurchaseAmount:Double) 
defined class Transactions 

当我尝试运行此:

def parseTransactions(str:String): Transactions = { 
    | val line = str.split(",") 
    | Transactions(line(0),line(1),line(2),line(3),line(4),line(5),line(6),line(7),line(8),line(9),line(10)) 
    | } 

我得到这个错误:38:错误:类型不匹配; 找到:字符串 要求:长

任何人都知道为什么我得到这个错误?我正在对上面提到的模式进行社交网络分析。

非常感谢!

您正在创建数组,从“,”分离值返回字符串数组。在分配给案例类参数之前将其转换为适当的类型。

val line = str.split(",") 
line(0).toLong