【发布时间】:2020-04-06 09:25:26
【问题描述】:
我有一个场景,我需要从两个字符串变量形成一个数据框名称。这很容易,可以通过连接来完成。
示例:“df_”+“part1324”
上面的代码将返回一个字符串变量。我希望这是一个 Dataframe 变量,通过它我可以对数据框执行进一步的操作。
【问题讨论】:
-
如果代码支持问题就好了,已经试过了。
标签: scala apache-spark apache-spark-sql
我有一个场景,我需要从两个字符串变量形成一个数据框名称。这很容易,可以通过连接来完成。
示例:“df_”+“part1324”
上面的代码将返回一个字符串变量。我希望这是一个 Dataframe 变量,通过它我可以对数据框执行进一步的操作。
【问题讨论】:
标签: scala apache-spark apache-spark-sql
Map 可用于为 DataFrames 分配名称:
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)
【讨论】:
您的问题令人困惑。数据框变量是什么意思?连接两个字符串将始终返回 String。为了创建数据框,您需要应用可用的不同方法来创建数据框。
val df:Dataframe 不能等于 df_part1234 (String) 根据您的示例,但要将其用作数据框,您需要执行以下操作
val df_part1234 = sc.range(1000).toDF("number") 其中 sc 是您的 Sparksession 变量。
如果你需要动态生成这个变量,把它放在像Loop这样的变量生成逻辑下,并添加创建数据框的语句。
如果您尝试实现其他目标(以及重现问题的代码 sn-p)请重写您的问题,或者如果您清楚问题,请接受答案
【讨论】: