我是spark / scala的新手。我有一个文件说配置,我指定所有列名称。
配置:
Id,
Emp_Name,
Dept,
Address,
Account
我有一个数据框,我选择列名称,如:
df.select("id","Emp_Name","Dept","Address","Account").show()
我没有在select中指定列名,而是想从配置文件中获取列名,如
df.select(config-file_column_names).show()
答案 0 :(得分:1)
如果每列都在不同的行中,您不一定需要文件中的逗号。
这是select
:
def select(col: String, cols: String*): DataFrame
def select(cols: org.apache.spark.sql.Column*): DataFrame
我们将在这里使用第二个定义。
import org.apache.spark.sql.functions.col
val colNames = sc.textFile("file").map(_.replaceAll(",", "") ).map(col(_)).collect
// Unpacking the array in `select`
df.select(colNames: _*).show