2012-11-23 133 views
3

我是netezza并行编程的新手。有人能说出如何执行,比如说使用netezza并行添加矩阵吗?如何在Netezza中执行Matrix操作?

C(M,N)= A(M,N)+ B(M,N)

由于多提前。

+0

你能更具体? Netezza是一款MPP设备,可以通过多种方式访问​​,但通常通过关系数据库和SQL进行访问。你用什么语言来尝试这样做? –

+1

这通常是你通过Revolution R引擎做的事情,我会说。额外的成本,但是,因为你需要从R. – cairnz

+0

@NWest许可引擎是否有可能使用C++/Java编写在netezza环境中运行? – nautica08

回答

1

如果你可以用C++编写代码,你可以将它填充到Netezza的用户定义函数中。

请参阅here例如udf在C++中。

您的系统应附带适当的文档,以便深入参考UDF和自定义代码以供实施。

+0

是的,我尝试了一个类似的例子,在列表中找到最小的数字。我想知道我们如何将矩阵切分为Netezza并行处理的并行块? (比如矩阵加法 - 对A矩阵和B矩阵进行并行加列以存储在C矩阵中)。尽管感谢UDF链接! – nautica08

+1

因为他们有像肖恩福克斯那样的人在那里回复,所以你可能会碰到[enzeecommunity](http://www.enzeecommunity.com/message/9616)更好的运气。至少你应该在那里得到很好的建议。 – cairnz

+0

当然我会试一试。非常感谢参考。我应该关闭这个线程? – nautica08

2

有Netezza矩阵引擎,它实现了各种矩阵/线性代数运算。它需要安装在您的设备上。之后,你可以使用SQL调用所有功能NZM:

CALL NZM..INITIALIZE(); 
CALL NZM..CREATE_RANDOM_MATRIX('A', 10, 10); 
CALL NZM..CREATE_RANDOM_MATRIX('B', 10, 10); 
CALL NZM..ADD('A', 'B', 'C'); 

有功能表转换为反之亦然矩阵和副:

CALL NZM..CREATE_MATRIX_FROM_TABLE('TABLE_A', 'A', 10, 10);  
CALL NZM..CREATE_TABLE_FROM_MATRIX('C', 'TABLE_C');