2017-09-13 191 views
2

我在含有COLUMNNAMES我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

selectExpr每一列需要一個參數。您試圖將所有列放在一個參數中。

嘗試:

df.selectExpr(config.replaceAll("\"", "").split(","): _*) 
+0

嗨Gaweda,其現在的工作,非常感謝。保持搖擺人! – gayathri

+0

@gayathri所以請接受它並投票表決:) –

+0

是的,我已經投了票 – gayathri