我有一个要求,我必须从一列(hive表)中提取数据并插入到其他派生列中。 (请在下面找到配置文件数据)。
Number,1,DOWN,derived_column1 Number,2,DEGRADED,derived_column1 Number,3,NORMAL,derived_column1 Number,4,LOW,derived_column12 Number,0,MMEDIATE,derived_column2
我正在使用spark数据帧。使用给定的配置文件,如果我尝试动态生成df.withcolumn(条件时的字符串)。有没有办法可以执行动态生成的代码。 例如,假设我在配置文件中使用循环创建了下面的字符串。
res1:String = .withColumn(“derived_column1”,when(col(“Number”)===“1”,“DOWN”)。when(col(“Number”)===“2”,“ DEGRADED“)。when(col(”Number“)===”3“,”NORMAL“)。when(col(”Number“)===”4“,”LOW“)。when(col(”Number“) “)===”0“,”IMMEDIATE“)。否则(col(”数字“)))
现在我想知道有没有一种方法可以将此字符串生成的字符串应用于数据帧,例如。 的 df.res1
如果有可能或有更好的方法,请告诉我。