id
でスパークを使用してdf
列にある文字列の出現を数えますか?Scala Spark - Dataframe列の特定の文字列の出現をカウントします。
列の値"test"
を探すSQLでdf
の"name"
は次のようになります。
def getCount(df: DataFrame): DataFrame = {
val dfCnt = df.agg(
.withColumn("cnt_test",
count(col("name")==lit('test'))
)
このANです:
SELECT
SUM(CASE WHEN name = 'test' THEN 1 else 0 END) over window AS cnt_test
FROM
mytable
WINDOW window AS (PARTITION BY id)
私のようなmap(v => match { case "test" -> 1.. })
、物事を使って試してみました高価な操作ですか?特定の文字列の出現を確認してから、アクションを実行する最良の方法は何ですか?(sum, max, min, etc)
?あなたが火花でgroupBy
+ agg
を使用することができます
おかげ
は、任意の答えはあなたを助けたのでしょうか?はいの場合はそれを受け入れてください –