使用 Scala,我将一个蜂巢表加载到 Spark 中此表有 3 列和 10,000 行。我也有这个列表:
List[Int] = List(43, 48, 353, 413, 645, 674, 764, 873, 1018, 1170, 1206, 1626)
我必须从与给定列表中存在的元素对应的表中提取所有行(包括所有列(。我该怎么做?我需要数据框格式的最终输出。
val l = List(43, 48, 353, 413, 645, 674, 764, 873, 1018, 1170, 1206, 1626)
val table: Array[Array[T]] = ???
table.map(col => l.map(index => col(index)))
这将返回 table
的列,但仅返回您提到的行。请注意,如果您没有至少 1627
行,这将引发一些异常。
这是假设您的table
是其元素为列的Array
。如果是Array[Row]
,则需要做模拟:
l.map(index => table(index))