gpt4 book ai didi

hadoop - 转换矩阵格式,烫

转载 作者:可可西里 更新时间:2023-11-01 16:16:25 26 4
gpt4 key购买 nike

好的,所以,在烫洗中我们可以轻松地使用矩阵,使用矩阵 api,这没问题 - 以这种方式:

val matrix = Tsv(path, ('row, 'col, 'val))
.read
.toMatrix[Long,Long,Double]('row, 'col, 'val)

但是我怎样才能将矩阵从格式转换为格式,就像我们通常写的那样?有没有一些优雅的方式?

1 2 3
3 4 5
5 6 7

1 1 1
1 2 2
1 3 3
2 1 3
2 2 4
2 3 5
3 1 5
3 2 6
3 3 7

我需要这个来对具有巨大尺寸的矩阵进行操作,并且我不知道行数和列数(如果文件可以给出尺寸?例如 NxM)。

我试图用 TextLine( args("input") ) 来做 smth,但我不知道如何计算行号。我想在hadoop上转换矩阵,mb还有其他方法如何处理格式?烫一下可以吗?

最佳答案

下面的答案不是我的,而是OP的答案,放在问题中。


这是我所做的,输出了我想要的:

var prev: Long = 0
var pos: Long = 1

val zeroInt = 0
val zeroDouble = 0.0

TextLine( args("a") )
.flatMap('line -> 'number) { line : String => line.split("\\s+") }
.mapTo(('offset, 'line, 'number) -> ('row, 'val)) {
(offset: Long, line: String, number: String) =>
pos = if(prev == (offset + 1)) pos + 1 else 1
prev = offset + 1
(offset + 1, number) }
.filter('row, 'col, 'v) {
(row: Long, col: String, v: String) =>
val (row, col, v) = line
(v != zeroInt.toString) && (v != zeroDouble.toString) }
.write(Tsv(args("c")))

关于hadoop - 转换矩阵格式,烫,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20020967/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com