SparkのUDAF使用

UDAFとは何ですか?

UDAF(ユーザー定義集計関数)はユーザー定義の集計関数です。集計関数と通常の関数の違いは何ですか?通常の関数は入力行を受け入れて出力を生成し、集計関数は(のセットを受け入れます通常は複数行の入力)を生成してから出力を生成します。つまり、値のセットを集計する方法を見つけます。合計操作と同様に、sparkudfの使用についてはここを参照してください

以下のデモを直接見て、1〜10の平均値を計算してください。コードは比較的単純です。

package spark

import org.apache.spark.sql.expressions.{MutableAggregationBuffer, UserDefinedAggregateFunction}
import org.apache.spark.sql.types.{DataType, IntegerType, StructField, StructType}
import org.apache.spark.sql.{Dataset, Row, SparkSession}
import java.lang

/**
  * spark的UDAF使用
  */
object UDAF {
  def main(args: Array[String]): Unit = {
    val spark = SparkSession.builder()
      .appName("UDAFDemo")
      .master("local[1]")
      .getOrCreate()
    val ds: Dataset[lang.Long] = spark.range(1,10)
    ds.createTempView("test")
    spark.udf.re

おすすめ

転載: blog.csdn.net/xianpanjia4616/article/details/88945128