반응형
/*
-- Title : [N4j4.4] PDI를 활용한 SQL Server에서 Neo4j 노드 생성
-- Tag : neo4j PDI 펜타호 데이터 통합 pentaho data integration sql server 네오포제이
*/
■ SQL Server 연결 설정
- Job : 하나의 작업 시작 단계가 있으며 한 단계씩 순차적 실행
- Transformation : 여러 작업 시작 단계가 있으며 모든 단계가 병렬로 실행
ㅁ Transformations
- 뷰 > Transformations > 새로 만들기
ㅁ 데이터베이스 연결
- 뷰 > Transformations > Transformation 1 > 데이터베이스 연결 > 새로 만들기
- ‘데이터베이스 연결’ 컴포넌트를 오른쪽 창으로 Drag & Drop 시 오픈(잘 안됨)
ㅁ 데이터베이스 연결 설정
- 아래 이미지와 같이 설정
ㅁ 연결 테스트 시 JDBC 드라이버 이슈 해결(1)
- 드라이버 파일 복사
\data-integration\lib 밑에 복사
ㅁ 연결 테스트 시 JDBC 드라이버 이슈 해결(2)
- SQL Server 드라이버 버전이 맞지 않으면 연결 ‘TEST’시 무반응
- 최신 드라이버 파일 다운로드
https://www.microsoft.com/ko-KR/download/details.aspx?id=11774
- 드라이버 파일>jre8\sqljdbc42.jar 파일을 PDI 디렉토리>data-integration\lib에 복사
- 드라이버 파일>auth\x64\sqljdbc_auth.dll 파일을 C:\Program Files\Java\jre1.8.0_333\bin\에 복사
ㅁ 데이터베이스 연결 TEST
■ Table Input 컴포넌트 구성
- ‘디자인탭 > Input > Table Input’을 오른쪽 창으로 Drag & Drop
- Table Input 설정(아래 이미지 참조)
- Step 이름 : tBook Table Input
■ Neo4j Output 컴포넌트 구성
- ‘디자인탭 > Neo4j > Neo4j Output 선택
- Neo4j Output 설정(아래 이미지 참조)
- 반드시 ‘Use encryption’을 해지해야 함(이유는 아직 모름)
■ 컴포넌트 연결
- 선행 컴포넌트 클릭 후 ‘shift + Drag’로 후행 컴포넌트 선택
■ Neo4j Output 노드 구성
- From Node 탭에서 진행
- From Label
- From Label Fields : Input Table의 필드 기반으로 레이블 구성
- From Label Values : 사용자 정의 레이블 구성 - From Property
- from Property Fields : Input Table 필드 기반으로 속성 구성
- Property Name : 속성 명칭
- Property Type : 속성 형식
- tISBN과 tPublisher도 동일하게 구성
■ 구성한 Transformations 실행
- 우선 저장 필요(.ktr 확장자로 저장됨)
- Run 버튼으로 실행
- 실행 결과
■ Neo4j Browser를 통한 노드 확인
※ Resources
•https://stackoverflow.com/questions/20964224/connect-pentaho-to-ms-sql-server-native
•https://db-hyunjin.tistory.com/51
반응형