python计算结果传给spark_如何将DataFrame作为输入传递给Spark UDF?

我有一个数据帧,我想对每一行应用一个函数。此函数依赖于其他数据帧。在

简化示例。我有三个数据帧,如下所示:df = sc.parallelize([

['a', 'b', 1],

['c', 'd', 3]

]).toDF(('feat1', 'feat2', 'value'))

df_other_1 = sc.parallelize([

['a', 0, 1, 0.0],

['a', 1, 3, 0.1],

['a', 3, 10, 1.0],

['c', 0, 10, 0.2],

['c', 10, 25, 0.5]

]).toDF(('feat1', 'lower', 'upper', 'score'))

df_other_2 = sc.parallelize([

['b', 0, 4, 0.1],

['b', 4, 20, 0.5],

['b', 20, 30, 1.0],

['d', 0, 5, 0.05],

['d', 5, 22, 0.9]

]).toDF(('feat1', 'lower', 'upper', 'score'))

对于df的每一行,我想从df_other_1和{}收集{}和{}的唯一上限值,即对于第一行,唯一值是(1、3、10、4、

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值