2012-11-23 3 views
3

나는 netezza 병렬 프로그래밍을 처음 사용합니다. 어떤 사람이 수행하는 방법에 대해 빛을 던질 수 있습니까, 넷 에츠아를 사용하여 행렬 추가를 병렬로 말할 수 있습니까?Netezza에서 매트릭스 작업을 수행하는 방법은 무엇입니까?

C (m, N)를 미리

감사 훨씬 A (m, N) + B (m, N)를 =.

+0

당신이 더 구체적 일 수는? Netezza는 여러 가지 방법으로 액세스 할 수 있지만 일반적으로 SQL을 사용하는 관계형 데이터베이스를 통해 액세스 할 수있는 MPP 어플라이언스입니다. 이 작업을 수행하기 위해 사용하는 언어는 무엇입니까? –

+1

이것은 대개 Revolution R 엔진을 통해하는 일입니다. 당신은 R. – cairnz

+0

@ NWest에서 엔진의 라이센스를 받아야하기 때문에 추가 비용이 필요합니다. C++/Java로 작성하여 Netezza 환경에서 실행할 수 있습니까? – nautica08

답변

1

C++로 코드를 작성할 수 있으면 Netezza의 사용자 정의 함수에 넣을 수 있습니다.

here 예를 들어 C++의 udf를 참조하십시오.

UDF 및 사용자 정의 코드를보다 자세히 참조하려면 시스템에 적절한 설명서가 있어야합니다.

+0

예, 목록에서 가장 작은 숫자를 찾는 유사한 예를 시도했습니다. Netezza 병렬 처리를 위해 행렬을 병렬 덩어리로 어떻게 분할합니까? (행렬 추가에 대해서 말하자면, A 행렬과 B 행렬이 C 행렬에 저장되도록 병렬로 추가하는 것). UDF 링크를 가져 주셔서 감사합니다! – nautica08

+1

숀 폭스 (Shaun Fox)와 같은 사람들이 거기에 답장을하는 것처럼 [enzeecommunity] (http://www.enzeecommunity.com/message/9616)를 치는 것이 더 나을 수도 있습니다. 적어도 좋은 조언을 받아야합니다. – cairnz

+0

물론 시도해 보겠습니다. 참조에 대해 감사드립니다. 이 스레드를 종료해야합니까 ?? – nautica08

2

모든 종류의 행렬/선형 대수 연산을 구현하는 Netezza Matrix Engine이 있습니다. 어플라이언스에 설치해야합니다. 그 후 모든 NZM 함수를 호출하는 SQL을 사용할 수 있습니다

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'); 
관련 문제