我需要向列(数组)中添加序列号,其中我的源数据是Parquet格式的,并且数量接近20亿条记录。在这里,我只能从parquet中选择key和code列,并将序号添加到ref\ u代码中,然后将其加载回s3
Key_1 Key_2 Key_3 Ref_codes
112240386 7435038894 2 [4659,53540,78907]
113325994 7940375640 1 [7232,7840,83969]
223352476 7765270324 4 [9999]
345936074 7950076012 1 [78650,4829,30000]
Key_1 Key_2 Key_3 Ref_codes
112240386 7435038894 2 [(4659,0),(53540,1),(78907,2)]
113325994 7940375640 1 [(7232,0),(7840,1),(83969,2)]
223352476 7765270324 4 [(9999,0)]
345936074 7950076012 1 [(78650,0),(4829,1),(30000,2)]
我是新来的scala,我尝试了多种选择,但没有得到正确的结果。任何帮助真的感谢。。。
1条答案
按热度按时间njthzxwz1#
您可以使用高阶函数,如
transform
在最新版本的Spark如下。数据:Spark3.0.0+
Spark>2.4
Spark<2.4
输出:
这里有更多关于变换的例子