背景:在 pyspark中udf写法及其使用中我们使用pyspark定义好的udf逐条处理数据(dataframe)。这篇文章提供一种“并行”调用udf的方法。

from pyspark.sql import Row
from pyspark.sql.types import StringType, StructField, StructType# udf定义
def proc_func(row):row_dict = row.asDict(True)  # 将rdd转化成字典格式col_1 = row_dict['col_1']new_col = 'proc_{}'.format(col_1)row_dict['new_col'] = new_colreturn Row(**row_dict)# 定义输出字段
output_struct = StructType([StructField('col_1', StringType()),StructField('new_col', StringType())
]) # 调用udf
your_df = your_df.rdd.map(proc_func)  # 需要将DataFrame转为rdd# 将处理结果再解析为Dataframe
your_df = spark.createDataFrame(your_df.map(lambda row: Row(row.col_1,row.new_col)), output_struct)

其他补充,以下是几个常见的类型

from pyspark.sql.types import IntegerType, StringType, ArrayType# int型
IntegerType()# list型
ArrayType(IntegerType())  # int list
ArrayType(StringType())  # string list

使用这种方式,会大大减少数据计算时间。

pyspark 并行调用udf函数相关推荐

  1. pyspark udf函数

    from pyspark.sql.types import ArrayTypedef square_list(x):return [float(val)**2 for val in x] square ...

  2. GBase 8a UDF 函数串并行控制基础知识

    扩展 UDF 支持多线程并行计算,但有如下限制: 1 UDF 函数的串/并行执行需要由用户自己做出判断,并传入控制参数,数据库无法对 UDF 函数进行串/并行执行的判断. 2 不可并行的 UDF 函数 ...

  3. pyspark 编写 UDF函数

    pyspark 编写 UDF函数 前言 以前用的是Scala,最近有个东西要用Python,就查了一下如何编写pyspark的UDF. pyspark udf 也是先定义一个函数,例如: def ge ...

  4. pyspark编写UDF函数

    pyspark 编写 UDF函数 pyspark udf 1.先定义一个函数,例如: def get_time(ts):try:res = datetime.fromtimestamp(int(ts) ...

  5. UDF函数,hive调用java包简单方法

    UDF函数,是hadoop在强大的大数据批量导入导出操作之余,为了满足复杂的数据逻辑操作留下的接口 核心思想:不管是UDF函数还是自定义处理jar包,都是要放置在hadoop服务器上的,相当于hado ...

  6. java mysql自定义函数UDF之调用c函数

    正如sqlite可以定义自定义函数,它是通过API定义c函数的,不像其他,如这里的mysql.sqlite提供原生接口就可以方便的调用其他语言的方法,同样的mysql也支持调用其它语言的方法. goo ...

  7. Impala UDF - Impala调用Hive UDF函数

    Impala 中运行 Hive UDF 场景:部分查询需要快速返回,使用Impala进行快速.复杂的查询 1.简单的UDF函数过滤,判断是否包含"好"字,返回boolean类型 i ...

  8. hive java udf_hive java编写udf函数

    (一)创建JAVA 代码--例子 package hiveOpt; import org.apache.hadoop.hive.ql.exec.UDF; import org.apache.hadoo ...

  9. hive UDF函数取最新分区

    hive UDF函数取最新分区 1.pom文件 <dependencies><!-- https://mvnrepository.com/artifact/org.apache.hi ...

最新文章

  1. 【TCP/IP】一张图带你读懂TCP/IP协议
  2. 计算机基础办公应用考试试题,计算机基础考试试题库和答案.doc
  3. Java比较同一map是否相同_Java 中HashTable、HashMap、TreeMap三者区别,以及自定义对象是否相同比较,自定义排序等...
  4. 几个常用的eclipse快捷键
  5. Java Maven学习 - 1
  6. 女大学生两块钱成功进外企
  7. 《Adobe Photoshop CS6中文版经典教程》—第1课1.4节在Photoshop中还原操作
  8. Redis中的管道有什么用?
  9. linux 做磁盘配额
  10. 4.1 API : MultinomialNB、GaussianNB、BernoulliNB
  11. 深入理解 Python 异步编程(上)
  12. c51串行通信汇编语言,51单片机双机串行通信汇编语言程序+Proteus仿真
  13. 学习笔记(1):C#Winform水晶报表实例教程-设计带图片的水晶报表
  14. 阿里云SLB负载均衡ESS弹性伸缩
  15. 仿小米官网首页 动态交互(HTML+css+jq)1.通栏以及logo部分
  16. 联想计算机系统还原怎么弄,电脑恢复出厂设置,手把手教你联想电脑怎么恢复出厂设置...
  17. 安全性剖析:对比 LayerZero、Wormhole 等跨链桥优劣
  18. 【解决阿里云服务器提示挖矿程序风险2022】
  19. MySQL 存储过程笔记
  20. oracle 表空间自动扩展及大小

热门文章

  1. 传智播客开课的第一天
  2. Microsoft Visual C++ 2005 Redistributable---win下安装软件“嘭”的一声报错!
  3. 报错Can‘t resolve ‘fs‘ in /Cannot read property ‘prototype‘ of undefined
  4. 2018年度,产品经理/Axure教学视频黑马
  5. IRIG-B高精度B码解码 同步精度10ns
  6. 图片缩放、旋转、加水印
  7. Windows 11 消费者版 (含家庭版 / 专业版 / 专业工作站 / 家庭单语言版)
  8. 2022.1.20国产蓝牙AOA高精度定位厂家开放华东上海和华北北京的FAE岗位招聘欢迎行业内部推荐
  9. 合宙昆仑镜LCD驱动测试
  10. python写图片爬取软件_python制作微博图片爬取工具