我有一个10列的表,但我只对2列感兴趣。我想将每个列的不同值存储到一个列表中,稍后在程序中使用。以下是我尝试过的:
val list1= table.
.select(col1)
.collect().map(_(0)).toList
val list2= table.
.select(col2)
collect().map(_(0)).toList
我可以用 list1
以及 list2
稍后在第三个数据集上应用过滤器。但正如你所见,这需要扫描 table
两次。有没有办法不用看两遍table就能做到这一点?
3条答案
按热度按时间i5desfxk1#
您可以尝试创建一个函数,该函数接受要按顺序转换的列,并将其更改为list
val selectcolumns=df.columns.toseq
qacovj5a2#
检查以下代码。
假设
col1
&col2
属于string
.1hdlvixo3#
希望表中的数据少一点,试试这个-