2017-12-12 9 views
0

Java APIを使用してDataFrameから列のリストを選択しようとしています。スパークDataFrame - Java APIを使用して列のリストを選択

サンプルJavaコード:Java APIの

List<String> colList = Arrays.asList(new String[] { "column1", "column2", "column3" }); 
df.selectExpr((String[])colList.toArray()).show(); 

、私はselectExprの代わりselectを使用する必要があります。 Java APIを使用して列のリストを選択する他の方法はありますか。

しかし、Scalaでは、以下のようなことができます。

サンプルのScalaコード:

val colList = List("column1", "column2", "column3") 
df.select(colList.head, colList.tail: _*).show 

答えて

2

あなたはStringの配列を使用することができます:Column

String[] colList = { "column1", "column2", "column3" }; 
String first = colList[0]; 
String[] rest = Arrays.copyOfRange(colList, 1, colList.length); 

logData.select(first, rest); 

または配列を:

import static org.apache.spark.sql.functions.col; 
import org.apache.spark.sql.Column; 

Column[] colList = { col("column1"), col("column2"), col("column3") }; 
logData.select(colList); 
+0

最初のアプローチは、文字列の配列ではありません、あなたはプログラム的に最初と残りの部分を構築しています。 lsoの第2のアプローチは、列名のリストからStringとして構築する必要があります。 – Shankar

関連する問題