我有一个超过5000列的数据集,即使尝试限制为10行,当尝试读取该数据集时也会抛出OutOfMemoryException。 cause of exception上还有另一篇文章,因此我只想阅读前n列以避免该错误。
我找不到执行此操作的api调用,并且只能使用head
或limit
限制行。
有没有一种方法可以只限制前几列?谢谢。
答案 0 :(得分:0)
鉴于您的数据集为ds
,则可以将前n
列提取到Array中:
val n = 2
val firstNCols = ds.columns.take(n)
,然后从数据集中仅选择这些列:
ds.select(firstNCols.head, firstNCols.tail:_*)