当前位置: 首页 > 知识库问答 >
问题:

Spark UDF返回多个项目

姚培
2023-03-14

火花UDF是否可能返回多个值?如果是这样,如何在数据框架API中访问各个项目。

共有2个答案

居飞扬
2023-03-14

您可以使用结构和数组方法来实现此目的。

请点击这里查看@ramesh给出的一个非常干净简单的答案

隆礼骞
2023-03-14

你有三个选择:

>

  • 返回相同类型的项的Seq以创建数组列。

    udf(() => Seq(1.0, 2.0, 3.0))
    

    返回地图

    udf(() => Map("x" -> 1.0, "y" -> -1.0))
    

    返回一个产品(元组或case类的实例)以创建结构列。

    udf(() => (1.0, "foo", 5))
    

  •  类似资料:
    • 我正在编写一个spring批处理作业,在其中一个步骤中,我为处理器编写了以下代码: null 欢迎任何暗示。

    • 我用的是parse.com。每个包里面都有很多钻子,每个品类里面都有很多包。 我卡住了。然后(函数(result,result2,result3)在最后一行。promise可以有多个promise,它是可变的。有没有一种方法可以写出如下内容: 谢谢!

    • 问题内容: 是否可以为列表理解中的每个项目返回2个(或更多)项目? 我想要的(示例): 应该回来 因此,可以替换以下代码块: 问题答案: 时间: 2.69210777094 3.13900787874 1.62461071932 25.5944058287 29.2623711793 25.7211849286

    • 问题内容: 我用Java写了一个函数,我希望这个函数返回多个值。除了使用数组和结构外,还有没有办法返回多个值? 我的代码: 问题答案: 在Java中,当您希望函数返回多个值时,必须 将这些值嵌入到您返回的对象中 或更改传递给函数的对象 在您的情况下,您显然需要定义一个可以包含,和的类: 然后将您的功能更改为

    • 问题内容: 在Java中是否可以从方法返回两个或多个值到main?如果是这样,有可能吗?如果没有,我们怎么办? 问题答案: 你可以使用Java返回Class的对象。 如果要返回多个相关的值,则将它们封装到一个类中,然后返回该类的对象是有意义的。 如果要返回不相关的值,则可以使用Java的内置容器类(例如Map,List,Set等)。有关更多详细信息,请检查java.util包的JavaDoc。

    • 问题内容: 我试图在 JavaScript中 返回两个值。这可能吗? 问题答案: 否,但是您可以返回一个包含您的值的数组: 然后,您可以像这样访问它们: 使用最新的ECMAScript 6语法 *,您还可以更直观地分解返回值: 如果要在每个返回值上贴上“标签”(易于维护),则可以返回一个对象: 并访问它们: 或使用ES6语法: