我的hdfs中有一个包含要从json文件中选择的列名的配置文件
json的模式
{
a:string
b:int
c struct
{
id: string
count : integer
}
}
Config.txt
"a","b","c.id"
在代码中
val df = sqlcontext.read.json("jsonfile"
val config_file = "Config.txt"
val config = scala.io.Source.fromFile(config_file).mkString
val df_contents=df.selectExpr(config)
df_contents.printSchema()
df_cust_att_contents.show()
我在df.selectExpr(config)中收到错误。它不被承认。它的投掷错误。如何将列名从配置文件传递到selectExpr。请帮忙
答案 0 :(得分:0)
selectExpr
每列需要一个参数。您试图将所有列放在一个参数中。
尝试:
df.selectExpr(config.replaceAll("\"", "").split(","): _*)