使用scala

时间:2017-01-19 11:53:58

标签: scala apache-spark rdd

我想创建一个RDD[((String, String, String), String, DateTime)]。我可以使用元组StringDateTime值并在方法中创建它而不是从文本文件中读取它吗?

我正在使用Scala创建此功能,有人可以帮助我吗?

其实我想用下面的方法创建RDD [((String,String,String),String,DateTime)]。

def getRDDForPersistance(sparkContext: SparkContext): RDD[((String, String, String), String, DateTime)] = {
    var stringTouple = ("organization_name", "product_name", "resource_id")
    var resourceName = "test_resource_name"
    val date: DateTime = DateTime.now()
    var rdd = sparkContext.parallelize(Seq(stringTouple, resourceName, date))

但它不允许我返回创建的RDD。好像我没有返回该方法期望返回的RDD。那么如何创建RDD [((String,String,String),String,DateTime)]。请帮我....     返回rdd   }

2 个答案:

答案 0 :(得分:3)

尝试使用Seq传递参数时出现语法错误。请尝试以下代码。

def getRDDForPersistanceX(sparkContext: SparkContext): RDD[((String, String, String), String, DateTime)] = {
    var stringTouple = ("organization_name", "product_name", "resource_id")
    var resourceName = "test_resource_name"
    val date: DateTime = DateTime.now()
    var rdd = sparkContext.parallelize(Seq((stringTouple, resourceName, date)))
return rdd

}

答案 1 :(得分:0)

您正在寻找类似的内容:

val myStruct: List[((String, String, String), String, DateTime)] = ...
val myRDD = sparkContext.parallelize(myStruct)