Apache spark 对某些列应用Spark函数

Apache spark 对某些列应用Spark函数,apache-spark,dataframe,Apache Spark,Dataframe,我有一个包含N列的数据框,还有一个hashmap,其中的键是列名称和值,一个元组字符串,布尔值 对于hasmap上的每个列,并且满足特定条件(与元组进行一些比较),我必须对该列的所有元素应用一个函数 最后,我必须根据列名修改数据帧中满足某些条件的某些列 最好的方法是什么?您可以尝试在hashmap上使用foldLeft。下面是Scala的一个示例: 导入org.apache.spark.sql.Column 导入org.apache.spark.sql.functions_ val colMap

我有一个包含N列的数据框,还有一个hashmap,其中的键是列名称和值,一个元组字符串,布尔值

对于hasmap上的每个列,并且满足特定条件(与元组进行一些比较),我必须对该列的所有元素应用一个函数

最后,我必须根据列名修改数据帧中满足某些条件的某些列


最好的方法是什么?

您可以尝试在hashmap上使用foldLeft。下面是Scala的一个示例:

导入org.apache.spark.sql.Column 导入org.apache.spark.sql.functions_ val colMap=Map col1->a,没错, col2->a,没错, col3->a,错误 val df=序号1、1、1、2、2.toDFcol1、col2、col3 def verifystrValue:String,boolValue:Boolean:Boolean={ strValue==a&&boolValue } def PROCESS COLUMNC:Column:Column=c*2 colMap.foldLeftdf{ 大小写curDF,colName,strValue,boolValue=> 如果验证strvalue,boolValue curDF.withColumncolName,processColumnColName 埃尔斯库尔德 }
不清楚你想做什么。您能更具体地分享示例数据、预期输出和实际代码吗?@mtoto如何从数据帧数组创建数据帧?Scala、Java或Python?