Loading [MathJax]/jax/output/CommonHTML/config.js
社区首页 >问答首页 >StructType中熊猫UDF在火花放电中的应用及返回结果

StructType中熊猫UDF在火花放电中的应用及返回结果
EN

Stack Overflow用户
提问于 2019-02-22 08:48:58
回答 1查看 1.7K关注 0票数 4

我怎样才能驱动一个列的基础上熊猫-udf在火星雨。我编写了以下udf:

代码语言:javascript
代码运行次数:0
复制
from pyspark.sql.functions import pandas_udf, PandasUDFType

@pandas_udf("in_type string, in_var string, in_numer int", PandasUDFType.GROUPED_MAP)

def getSplitOP(in_data):
    if in_data is None or len(in_data) < 1:
        return None
    #Input/variable.12-2017
    splt=in_data.split("/",1)
    in_type=splt[0]

    splt_1=splt[1].split(".",1)
    in_var = splt_1[0]

    splt_2=splt_1[1].split("-",1)
    in_numer=int(splt_2[0])

    return (in_type, in_var, in_numer)
    #Expected output: ("input", "variable", 12)

df = df.withColumn("splt_col", getSplitOP(df.In_data))

有人能帮我找出上面的代码有什么问题,以及为什么它不起作用吗?

EN

回答 1

Stack Overflow用户

发布于 2020-02-18 22:16:41

这将起作用:

代码语言:javascript
代码运行次数:0
复制
df = spark.createDataFrame([("input/variable.12-2017",), ("output/invariable.11-2018",)], ("in_data",))
df.show()

from pyspark.sql.functions import pandas_udf, PandasUDFType

@pandas_udf("in_type string, in_var string, in_numer int", PandasUDFType.GROUPED_MAP)
def getSplitOP(pdf):
    in_data = pdf.in_data

    #Input/variable.12-2017
    splt = in_data.apply(lambda x: x.split("/",1))
    in_type = splt.apply(lambda x: x[0])

    splt_1 = splt.apply(lambda x: x[1].split(".",1))
    in_var = splt_1.apply(lambda x: x[0])

    splt_2 = splt_1.apply(lambda x: x[1].split("-",1))
    in_numer = splt_2.apply(lambda x: int(x[0]))

    return pd.DataFrame({"in_type": in_type, "in_var": in_var, "in_numer": in_numer})
    #Expected output: ("input", "variable", 12)

df = df.groupBy().apply(getSplitOP)
df.show()
  • 在@pandas_udf之后不能有空行。
  • 熊猫系列对象不直接支持字符串函数,如拆分。使用apply对每个系列按元素进行操作。
  • 为了返回多个列,您使用了一个GROUPED_MAP,但是您的代码本质上并不是按任何内容分组的。请注意,这里使用的groupBy没有任何参数。这需要将所有数据都放在一个处理器上。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54831667

复制
相关文章
哈希表及在iOS中的应用
哈希表(Hash table,也叫散列表),是根据关键码值而直接进行访问的数据结构,是一块连续的存储空间。
conanma
2021/10/28
2.1K0
如何在应用程序中调用CMD并返回运行结果
要求做一个图形界面的应用程序,输入命令行的命令,在后台调用CMD程序执行该命令但不显示DOS命令行窗口,而且能实时显示运行的结果。哪位知道怎么处理?谢啦
用户3519280
2023/07/06
2780
Perl在IC中的应用 | 仿真结果自动通知邮件
通过搜索仿真sim.log中 FAIL 、ERROR 、PASS等字符,来判断仿真结果,将其记录到report.log中,包括仿真log路径,时间等信息,并实时发送邮件;
数字芯片社区
2022/02/11
1.2K0
Perl在IC中的应用 | 仿真结果自动通知邮件
RPA在仓库管理中的作用及应用
放眼全球,自动化技术正在很大程度上得到改善,许多行业都需要与其深远的能力并驾齐驱。
蕉黄
2019/10/23
1.2K0
RPA在仓库管理中的作用及应用
常见概率分布及在R中的应用
常见概率分布 离散型 1.二项分布Binomial distribution:binom 二项分布指的是N重伯努利实验,记为X ~ b(n,p),E(x)=np,Var(x)=np(1-p) pbinom(q,size,prob), q是特定取值,比如pbinom(8,20,0.2)指第8次伯努利实验的累计概率。size指总的实验次数,prob指每次实验成功发生的概率 dbinom(x,size,prob), x同上面的q同含义。dfunction()对于离散分布来说结果是特定值的概率,对连续变量来说是密度
机器学习AI算法工程
2018/03/13
3.4K0
动态代理原理及在 Android 中的应用
因为一个静态代理类只能服务一种类型的目标对象,在目标对象较多的情况下,会出现代理类较多、代码量较大的问题。
trampcr
2019/11/04
2.2K0
常见索引类型及在MySQL中的应用
索引的出现其实是为了提高数据查询的效率,就像书的目录一样,根据目录可以快速定位到内容,类比于索引,根据索引提供指向存储在表的指定列中的数据值的指针,根据指针找到包含该值的行。
关忆北.
2022/11/16
1.1K0
常见索引类型及在MySQL中的应用
如何使用 Apache IoTDB 中的 UDF
本文将概述用户使用 UDF 的大致流程,UDF 的详细使用说明请参考官网用户手册:
Apache IoTDB
2023/03/21
1.3K0
如何使用 Apache IoTDB 中的 UDF
深入理解RunLoop及在开发中的应用
RunLoop:运行循环,简单的说就是处理线程事件和管理线程的一种机制。当子线程的事件结束时,runloop将会自动休眠,app主线程中的runloop处于一直唤醒状态。当用户触发事件时,runloop通知线程执行事件内容。
honey缘木鱼
2019/03/19
1.3K0
深入理解RunLoop及在开发中的应用
(4)SparkSQL中如何定义UDF和使用UDF
Spark SQL中用户自定义函数,用法和Spark SQL中的内置函数类似;是saprk SQL中内置函数无法满足要求,用户根据业务需求自定义的函数。
NBI大数据
2022/09/26
9930
(4)SparkSQL中如何定义UDF和使用UDF
在java中构建高效的结果缓存
缓存是现代应用服务器中非常常用的组件。除了第三方缓存以外,我们通常也需要在java中构建内部使用的缓存。那么怎么才能构建一个高效的缓存呢? 本文将会一步步的进行揭秘。
程序那些事
2020/07/08
1.5K0
统一异常处理及返回结果
如果在每个异常处都进行try-catch处理的话,无疑会造成代码的臃肿,且不够美观。 所以,一般来说除非的必须在在当前类处理的异常,否则都会向上抛出,直到抛到controller层为止,在controller层进行统一的异常处理(不处理的话,再往上抛就抛到前端去了)。
十玖八柒
2022/08/01
8020
统一异常处理及返回结果
BloomFilter 简介及在 Hadoop reduce side join 中的应用
1、BloomFilter能解决什么问题?      以少量的内存空间判断一个元素是否属于这个集合, 代价是有一定的错误率 2、工作原理      1. 初始化一个数组, 所
用户1177713
2018/02/24
1.2K0
BloomFilter 简介及在 Hadoop reduce side join 中的应用
观察者模式及在Android源码中的应用
观察者模式是一种行为类模式,它定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新。
见得乐
2022/09/08
5320
MySQL 在查询结果中记录行号
在其他的关系型数据库中,都有rownum这类型的内置函数来提供查询结果的行号,但是MySQL没有,阿福也一直觉得奇怪。
用户2353021
2020/05/09
6.6K0
工厂方法模式及在Android源码中的应用
在任何需要生成复杂对象的地方,都可以使用工厂方法模式,复杂对象适合使用工厂方法模式,用 new 就可以完成创建的对象无需使用工厂方法模式。
见得乐
2022/09/08
4990
AR在公共安全及应急指挥中的应用
抗击疫情,腾讯云在行动。AR(增强现实)技术正在成为新一代基础设施建设中的重要组成部分。营销、教育、娱乐、会展等行业已大量使用AR技术提升用户体验,获得更好的传播效果。制造业也正陆续采用AR技术应用于设备巡检、操作指导和远程协助等场景,提升效率、降低出错率。美军一直重视AR技术在军事上的应用。计算机视觉技术+移动互联网通讯技术+人机交互,在公共安全领域也有着广泛的应用场景。
可可爱爱没有脑袋
2020/02/19
1.1K0
AR在公共安全及应急指挥中的应用
移动开发的跨平台实践及在企业中的应用
目录: 一、移动跨平台已成为必然 二、驱动原生是移动跨平台的最佳选择 三、以工程化的形式解决移动跨平台问题 四、普元在企业移动跨平台上的优秀实践 五、总结与展望 一、移动跨平台已成为必然 随着移动更加快速的发展,移动IT建设已经是企业不可回避的事情;在这过程中必然会面对如何快速的、低成本的开发出多平台使用的APP这样一个问题,所以首先我们就来说说是什么因素让移动跨平台开发成为大多数企业移动建设的一种首选。 我们一直在说移动跨平台,那跨平台到底应该是个什么样子?开发一套代码能打出多平台运行的安装包就算是移动跨
yuanyi928
2018/03/30
1.2K0
移动开发的跨平台实践及在企业中的应用
cookie在爬虫中的应用
当爬取需要登录之后才可以获取的页面时,我们就可以借助cookie来实现。cookie是一种存储在本地浏览器中的用户认证信息,具体表现为一串字符串。当我们在浏览器中登录之后,可以通过F12查看对应的cookie信息,示例如下
生信修炼手册
2020/11/02
1.6K0
cookie在爬虫中的应用
点击加载更多

相似问题

熊猫udf在火花放电中的窗口功能

13

使用熊猫udf不需在火花放电中循环

213

熊猫udf在多栏上,熊猫在火花放电中应用类似物

11

用dict查找火花放电中的熊猫udf

27

火花放电熊猫UDF EOFError on macOS

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档