Spark- Scala: получить переменную фрейма данных, объединив две строковые переменные - PullRequest
1 голос
/ 06 апреля 2020

У меня есть сценарий, в котором мне нужно сформировать имя информационного кадра из двух строковых переменных. Это довольно просто и может быть сделано путем объединения.

Пример: "df_" + "part1324"

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

Ответы [ 2 ]

0 голосов
/ 06 апреля 2020

Карта может использоваться для назначения имен фреймам данных:

val df = List(("df_value")).toDF()
val stringVariable = "part1324"

// assign name to dataframe
val namedDataFrames = Map("df_" + stringVariable -> df)

// get dataframe by name
namedDataFrames("df_part1324").show(false)
0 голосов
/ 06 апреля 2020

Ваш вопрос сбивает с толку. Что вы подразумеваете под переменной dataframe? Объединение двух строк всегда возвращает String. Чтобы создать фрейм данных, вам нужно применить различные методы, доступные для создания фрейма данных.

val df: Dataframe не может быть равен df_part1234 (String) в соответствии с вашим примером, но чтобы использовать его в качестве dataframe, вам нужно сделать что-то вроде ниже

val df_part1234 = s c. range (1000) .toDF ("number"), где s c - ваша переменная Sparksession.

Если вам нужно сгенерировать эту переменную динамически, поместите ее под logi c генерации переменной, например, L oop и добавьте оператор для создания фрейма данных.

Пожалуйста, перепишите свой вопрос, если вы пытаетесь достичь чего-то другого (вместе с фрагментом кода, чтобы воспроизвести проблему), или примите ответ, если вы ясно знаете о выпуск

...