首页 > 数据库 >SparkSQL 自定义函数

SparkSQL 自定义函数

时间:2024-01-14 13:36:32浏览次数:44  
标签:函数 自定义 org sql SparkSQL perfixName apache import spark

本文的前提条件: SparkSQL in Java
参考地址: Scalar User Defined Functions (UDFs)

完整代码

package cn.coreqi;

import static org.apache.spark.sql.functions.udf;
import org.apache.spark.SparkConf;
import org.apache.spark.sql.*;
import org.apache.spark.sql.expressions.UserDefinedFunction;
import org.apache.spark.sql.types.DataTypes;

public class Main {
    public static void main(String[] args) {
        // 创建SparkConf对象
        SparkConf sparkConf = new SparkConf()
                .setMaster("local[*]")
                .setAppName("sparkSql");

        SparkSession spark = SparkSession
                .builder()
                .config(sparkConf)
                .getOrCreate();

        Dataset<Row> df = spark.read().json("datas/user.json");
        df.show();

        // DataFrames => SQL
        df.createOrReplaceTempView("user");

        UserDefinedFunction perfixName = udf(
                (name) -> "Name: " + name, DataTypes.StringType
        );
        perfixName.asNondeterministic();
        spark.udf().register("perfixName", perfixName);
        spark.sql("select age, perfixName(username) from user").show();

        // 关闭
        spark.close();
    }
}

标签:函数,自定义,org,sql,SparkSQL,perfixName,apache,import,spark
From: https://www.cnblogs.com/fanqisoft/p/17963589

相关文章

  • SparkSQL in Java
    参考地址:StartingPoint:SparkSession1.新建Maven项目,POM引入依赖<dependencies><dependency><groupId>org.apache.spark</groupId><artifactId>spark-core_2.13</artifactId><version&......
  • C++U3-第09课-递归函数的应用
    学习目标 斐波那契数列例题  我们需要求出斐波那契第n项的值是多少【思路分析】我们用递归的方式去求解,当第一项和第二项返回1,否则返回前两项的和当前为第一项和第二项返回1当前不为第一项和第二项返回前两项的和定义n并把n输入,带入到递归求解【参考代......
  • Jmeter参数化-用户自定义变量
    一 首先我们先来了解下jmeter做参数化的目的:1通过参数化来集中管理配置和测试数据2通过参数化实现数据驱动测试 二线程组添加配置元件中的用户自定义变量 添加变量名称,变量值三使用变量:通过名称来进行引用 四用户定义变量的好处?jmeter中变量都是......
  • 无涯教程-LISP - 函数声明
    函数是一起执行任务的一组语句。定义函数名为defun的宏用于定义函数,defun宏需要三个参数-函数名称函数参数函数主体defun的语法是-(defunname(parameter-list)"Optionaldocumentationstring."body)让我们用简单的示例来说明这个概念。函数-示例1让我们编写......
  • #yyds干货盘点# LeetCode程序员面试金典:旋转函数
    题目给定一个长度为n的整数数组nums。假设arrk是数组nums顺时针旋转k个位置后的数组,我们定义nums的旋转函数 F为:F(k)=0*arrk[0]+1*arrk[1]+...+(n-1)*arrk[n-1]返回F(0),F(1),...,F(n-1)中的最大值。生成的测试用例让答案符合32位......
  • 虚函数:什么时候我们真的需要它?
    虚函数是函数指针的一种特殊的,可优化的语法糖,详见这个问题:https://stackoverflow.com/q/7046739/14033810作为语法糖,它所做的让语言更简单,更安全的改进是限制了函数调用的范围。函数指针不再指向每一个类型匹配的函数(或任一个函数,如果bypassC的类型检查),而是被限制在只能调用一个......
  • 基于VueCli自定义创建项目
    前面学习的一些router封装,相关文件夹的创建,现在可以通过脚手架自动创建,简化了很多步骤1,使用shell命令选择项目目录vuecreatexx-project步骤2,  步骤3  路由模式默认是hash模式,history模式需要服务器端相关配置支持,这里选n,后面有需要可以在配置文件改......
  • .NET中的加密算法总结(自定义加密Helper类续)
    .NET中的加密算法总结(自定义加密Helper类续) 1.1.1摘要       相信许多人都使用过.NET提供的加密算法,而且在使用的过程我们必须了解每种加密算法的特点(对称或非对称,密钥长度和初始化向量等等)。我也看到过很多人写过.NET中加密算法总结,但我发现个别存在一些问题,很......
  • 自定义jQuery插件Step by Step
    自定义jQuery插件StepbyStep 1.1.1摘要随着前端和后端技术的分离,各大互联网公司对于MobileFirst理念都是趋之若鹜的,为了解决网页在不同移动设备上的显示效果,其中一个解决方案就是ResponsiveDesign;但我们今天不是介绍它,正由于前端开发已经十分重要了,所以我们将介绍如何......
  • js slice()函数
    不包括"red",这是因为拆分操作要从位置1开始,即从"green"开始。得到的colors2数组包含1"green"、"blue"、"yellow"和"purple"。colors3数组是通过调用slice()并传入1和4得到的,即从位置1开始复制到位置3。因此colors3包含"green"、"blue"和&......