我也有同樣的問題,下麵是如何使它工作使用列類型和可變參數:
/ /使dataframe org.apache.spark.sql導入示例。DataFrame val df: DataFrame = sc.parallelize (Seq ((1、2、3), (4、5、6), (7 8 9)))。toDF (“a”、“b”、“c”)/ /期望的列名列表字符串(可以以編程方式)val column_names_str = Seq [string] (“a”、“b”)
/ /構造進口org.apache.spark.sql.functions列的列名列表類型。坳val column_names_col = column_names_str。地圖(name = >坳(名稱))/ / val column_names_col = column_names_str。地圖(name = >坳(名字)。as (s renamed_ $ name)) / /重命名
/ /從dataframe使用可變參數的語法選擇特定列* val df_new = df.select (column_names_col:*)df_new.show ()
這應該按預期收益率:
+ - - - + - - - + | | | b + - - - + - - - + | 1 | 2 | | 4 | 5 | | 7 | 8 | + - - - + - - - +
我也有同樣的問題,下麵是如何使它工作使用列類型和可變參數:
/ /使dataframe org.apache.spark.sql導入示例。DataFrame val df: DataFrame = sc.parallelize (Seq ((1、2、3), (4、5、6), (7 8 9)))。toDF (“a”、“b”、“c”)/ /期望的列名列表字符串(可以以編程方式)val column_names_str = Seq [string] (“a”、“b”)
/ /構造進口org.apache.spark.sql.functions列的列名列表類型。坳val column_names_col = column_names_str。地圖(name = >坳(名稱))/ / val column_names_col = column_names_str。地圖(name = >坳(名字)。as (s renamed_ $ name)) / /重命名
/ /從dataframe使用可變參數的語法選擇特定列* val df_new = df.select (column_names_col:*)df_new.show ()
這應該按預期收益率:
+ - - - + - - - + | | | b + - - - + - - - + | 1 | 2 | | 4 | 5 | | 7 | 8 | + - - - + - - - +