2017-08-22 12 views
0

spark/scalaの新機能です。私は、すべての列名を指定するところのconfigというファイルを持っています。spark scalaのファイルからカラム名を取得

設定:

Id, 
Emp_Name, 
Dept, 
Address, 
Account 

私は私のような列名を選択しデータフレームがあります。代わりに選択して列名を指定する

df.select("id","Emp_Name","Dept","Address","Account").show() 

が、私は設定から​​列名を取得したいですファイルのように

df.select(config-file_column_names).show() 
+0

場合によっては、いくつかの列のみを選択する必要があります。その場合、ドライバがスパーククエリをトリガするドライバであるため、ドライバプログラムのパラメータとして渡す必要があります。場合は、ファイルのすべての列を選択することを望んでいない場合、あなたは@philantrovertが述べたように先に進むことができます.... – BDR

答えて

1

あなたのファイルに必ずカンマが必要なわけではありません列は異なる行にあります。

これはselectの定義です:

def select(col: String, cols: String*): DataFrame 
def select(cols: org.apache.spark.sql.Column*): DataFrame 

私たちはここ2番目の定義を使用しようとしています。

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 
関連する問題