Как получить элемент из списка с несколькими типами данных в Spark? - PullRequest
0 голосов
/ 19 декабря 2018

Я знаю, что это может быть основной вопрос, но я искал в Интернете, но не могу найти правильный ответ.

У меня есть список в Spark, который выглядит так:

List[(String,Timestamp,Timestamp)]

Я хочуизвлечь второй элемент в первом элементе (то есть первую метку времени, которая появляется в списке выше).Я понимаю, что использую что-то вроде следующего синтаксиса:

a(0)(1)

Однако, похоже, это не многомерный список, поэтому я не могу использовать этот синтаксис.

Как вывести нужный элемент из этого списка?

Ответы [ 2 ]

0 голосов
/ 19 декабря 2018

List[(String,Timestamp,Timestamp)] - это список Tuple3.

Чтобы получить метку времени, вам необходимо:

a(0)._2 

вместо:

a(0)(1)
0 голосов
/ 19 декабря 2018

Как уже упоминалось, список примеров не является многомерным, поэтому одним из вариантов получения значения может быть итерация по списку.

Например, например: Использовать приведенный ниже список в качестве примера

Список((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

...