这是一个与火花相关的问题。我必须将静态数据添加到各种类型的记录中,每种类型的记录都被处理为不同的数据帧(例如df1, df2,…df6)我打算添加的静态数据必须与所有6个数据帧重复。
更高效的方法是什么?
- 对于每一个6个数据帧,使用:
.witColumn("testA", lit("somethingA"))
.witColumn("testB", lit("somethingB"))
.witColumn("testC", lit("somethingC"))
或
- 创建一个新的DF,说staticDF有所有的列,我打算追加到每6个数据帧和使用联合?
或
还有其他我没有考虑过的选择吗?
第一种方法是正确的。第二种方法不起作用,因为union将行添加到数据框架中,而不是列。
另一种方法是使用select
同时选择所有新列:
df2 = df.select(
'*',
lit('somethingA').alias('testA'),
lit('somethingB').alias('testB'),
lit('somethingC').alias('testC')
)