Как присвоить значения из CSV отдельным переменным с помощью Scala - PullRequest
0 голосов
/ 04 июня 2019

Я хотел бы сначала извиниться, если это не правильный способ задать вопрос, но это мой первый.

У меня есть CSV с 2 столбцами, один с именами, а другой со значениями.

Я импортировал CSV как Scala DataFrame в Spark, и я хочу присвоить все значения отдельным переменным (получение имен переменных из имени столбца).

DataFrame выглядит следующим образом (есть больше переменных, и общее количество переменных может измениться)

|                name|value|
+--------------------+-----+
|           period_id|  188|
|            homeWork| 0.75|
|             minDays|    7|
...

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

val period_id = vbles.filter(vbles("name").equalTo("period_id")).select("value").first().getString(0).toDouble

У меня была идея перебрать все строки в DataFrame и каждый раз запускать приведенный выше код, что-то вроде

for (valName <- name) {
    val valName = vbles.filter(vbles("name").equalTo(valName )).select("value").first().getString(0).toDouble
}

Я пробовал некоторые способы итерации по строкам DataFrame, но мне это не удалось.

То, что я хотел бы получить, это как если бы я делал это вручную

val period_id = 188
val homeWork = 0.75
val minDays = 7
...

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

Большое спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...