Как превратить значения столбцов в список

#apache-spark

Вопрос:

У меня есть набор данных, из которого я хочу извлечь столбец значений в список, как этого добиться ? Я пытался :

 List<Row> rows = dF.select("col1").collectAsList();
 

Но тогда как перебирать значения col1 ?

Спасибо

Ответ №1:

Вы можете выполнить итерацию по списку строк так же, как вы можете выполнить итерацию по любому списку. Например: Предполагая, что вы хотите получить доступ к первому столбцу (строковому типу) всех строк, вы можете использовать следующий фрагмент кода

 import scala.collection.JavaConversions.asScalaBuffer
val  rows = df.select("col1").collectAsList();
rows.map(r => r.getAs[String](0))
 

Комментарии:

1. на ЯВЕ, пожалуйста !

Ответ №2:

Именно так вы можете выполнить итерацию по списку , выбранному из a column , но это не рекомендуется, если столбец слишком велик, чтобы поместиться в узле драйвера

 df.select("col1").collectAsList()
    .stream().forEach(row -> System.out.println(row.getString(0)));
 

Существуют другие функции для другого типа данных, чтобы получить значение из Row like getString , getLong и т. getInt Д