Spark自定义函数&例子

spark自定义函数,Spark sql 使用和dataFrame方式使用

复制代码
#自定义函数名字
def convert_zdy(sex):
    return "男" if sex == '1' else "女"

if __name__ == '__main__':
    spark = SparkSession.builder.master("local[*]").appName("自定义函数").getOrCreate()
    dataFrame = spark.read.json(r"D:\pythonProject\b.json")

    dataFrame.createOrReplaceTempView("t_user")
    #注册自定义函数
    convert_dsl = spark.udf.register("convert",convert_zdy)
    #spark SQL使用自定义函数
    spark.sql("select name,age,convert(sex) sex from t_user").show()

    import pyspark.sql.functions as F
    #dsl使用自定义函数(方式1)需要接收udf的函数
    dataFrame.select(F.col("name"),F.col("age"),convert_dsl (F.col("sex")).alias("sex")).show()

    spark.stop()
相关推荐
GanGuaGua13 分钟前
Vue3:脚手架
前端·javascript·css·vue.js·vue
weixin_4316004435 分钟前
使用 Vue Tour 封装一个统一的页面引导组件
javascript·vue.js·ecmascript
胡斌附体2 小时前
vue添加loading后修复页面渲染问题
前端·javascript·vue.js·渲染·v-if·异步加载
Dontla2 小时前
Webpack DefinePlugin插件介绍(允许在编译时创建JS全局常量,常量可以在源代码中直接使用)JS环境变量
运维·javascript·webpack
沐土Arvin3 小时前
深入理解 requestIdleCallback:浏览器空闲时段的性能优化利器
开发语言·前端·javascript·设计模式·html
L耀早睡4 小时前
mapreduce打包运行
大数据·前端·spark·mapreduce
咖啡の猫4 小时前
JavaScript基础-创建对象的三种方式
开发语言·javascript·ecmascript
源码方舟4 小时前
【HTML5】【AJAX的几种封装方法详解】
ajax·okhttp·html5
outstanding木槿4 小时前
react中安装依赖时的问题 【集合】
前端·javascript·react.js·node.js
敖云岚4 小时前
【前端三剑客】Ajax技术实现前端开发
ajax·okhttp