如何从Spark中的具有多种数据类型的列表中获取元素?

时间:2018-12-18 21:47:43

标签: scala list apache-spark

我知道这也许像一个基本问题,但是我在网上搜索仍然找不到正确的答案。

我在Spark中有一个列表,如下所示:

List[(String,Timestamp,Timestamp)]

我想检索第一个元素内的第二个元素(即出现在上面列表中的第一个时间戳)。我的理解是使用类似以下语法的内容:

a(0)(1)

但是,它似乎不是多维列表,所以我不能使用此语法。

如何从列表中删除我想要的元素?

2 个答案:

答案 0 :(得分:0)

如前所述,示例列表不是多维的,因此获取值的一种方法是遍历列表。

例如:在下面的列表中用作示例

  

列表((StringType,DoubleType,DoubleType,IntegerType))

def main(args: Array[String]): Unit = {

    val spark = SparkSession
      .builder()
      .config("spark.master", "local[1]")
      .appName("")
      .getOrCreate()

   var dataTypeList =  List((StringType,DoubleType,DoubleType,IntegerType))
   dataTypeList.map { x => println(x._2)}
}

输出

DoubleType

答案 1 :(得分:0)

List[(String,Timestamp,Timestamp)]Tuple3的列表。

要获取时间戳,您应该:

a(0)._2 

代替:

a(0)(1)