2017-09-07 6 views
0

私はScalaプログラミングの新機能です。これは私の質問です:各行の文字列数を数えるには? My DataframeはArray [String]型の単一の列で構成されています。新しい列として追加するにはScala Spark Dataframe - 配列列の各行の文字列数を数えます。

val df = Seq((Array("a","b","c"), 2), (Array("a"), 4)).toDF("friends", "id") 
// df: org.apache.spark.sql.DataFrame = [friends: array<string>, id: int] 

df.select(size($"friends").as("no_of_friends")).show 
+-------------+ 
|no_of_friends| 
+-------------+ 
|   3| 
|   1| 
+-------------+ 

friendsDF: org.apache.spark.sql.DataFrame = [friends: array<string>] 

答えて

2

あなたはsize機能を使用することができます

df.withColumn("no_of_friends", size($"friends")).show 
+---------+---+-------------+ 
| friends| id|no_of_friends| 
+---------+---+-------------+ 
|[a, b, c]| 2|   3| 
|  [a]| 4|   1| 
+---------+---+-------------+ 
関連する問題