我有架构
|-- count: struct (nullable = true)
| |-- day1: long (nullable = true)
| |-- day2: long (nullable = true)
| |-- day3: long (nullable = true)
| |-- day4: long (nullable = true)
|-- key: string (nullable = true)
我希望对数据进行转换,以保留count
的结构,即它仍然有类型long
的四个字段(day1,day2,...) 。我想要做的转换是将day1
字段的值添加到其他字段。我的想法是使用UDF,但我不确定如何让UDF返回具有相同结构的结构,以及2)如何在UDF中访问它正在转换的结构的字段(为了获取day1
字段的值。 UDF的逻辑应该很简单,比如
s : StructType => StructType(s.day1, s.day1+s.day2, s.day1+s.day3,s.day1+s.day4)
但我不知道如何获得正确的类型/保留原始结构的字段名称。我对Spark很新,所以任何指导都非常感谢。
另外,如果有人能指出我这种类型的正确文档,我将不胜感激。我觉得这种简单的转换应该非常简单,但我正在阅读Spark文档,我不清楚这是如何完成的。
答案 0 :(得分:1)
我不会使用echo "<span style='background-color: rgb($red, $green, $blue)'
title='#".$red.$green.$blue."'></span>";
。只需udf
/ select
withColumn