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()
相关推荐
瞎胡侃18 分钟前
Spark读取Apollo配置
大数据·spark·apollo
悻运20 分钟前
如何配置Spark
大数据·分布式·spark
烛阴28 分钟前
JavaScript 的 8 大“阴间陷阱”,你绝对踩过!99% 程序员崩溃瞬间
前端·javascript·面试
懒惰的橘猫31 分钟前
Spark集群搭建之Yarn模式
大数据·分布式·spark
2401_824256861 小时前
Spark-Streaming
大数据·分布式·spark
lh_12541 小时前
ECharts 地图开发入门
前端·javascript·echarts
元6331 小时前
spark和hadoop之间的对比和联系
大数据·hadoop·spark
周之鸥2 小时前
使用 Electron 打包可执行文件和资源:完整实战教程
前端·javascript·electron
前端snow2 小时前
前端全栈第二课:用typeorm向数据库添加数据---一对多关系
前端·javascript
全栈老李技术面试2 小时前
【高频考点精讲】async/await原理剖析:Generator和Promise的完美结合
前端·javascript·css·vue·html·react·面试题