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()
相关推荐
北岛寒沫3 小时前
JavaScript(JS)学习笔记 1(简单介绍 注释和输入输出语句 变量 数据类型 运算符 流程控制 数组)
javascript·笔记·学习
everyStudy4 小时前
JavaScript如何判断输入的是空格
开发语言·javascript·ecmascript
无心使然云中漫步5 小时前
GIS OGC之WMTS地图服务,通过Capabilities XML描述文档,获取matrixIds,origin,计算resolutions
前端·javascript
Bug缔造者5 小时前
Element-ui el-table 全局表格排序
前端·javascript·vue.js
xnian_6 小时前
解决ruoyi-vue-pro-master框架引入报错,启动报错问题
前端·javascript·vue.js
麒麟而非淇淋6 小时前
AJAX 入门 day1
前端·javascript·ajax
2401_858120536 小时前
深入理解MATLAB中的事件处理机制
前端·javascript·matlab
阿树梢7 小时前
【Vue】VueRouter路由
前端·javascript·vue.js
随笔写8 小时前
vue使用关于speak-tss插件的详细介绍
前端·javascript·vue.js
快乐牌刀片888 小时前
web - JavaScript
开发语言·前端·javascript