본문 바로가기

ETL Tools/Oracle Data Integrator

ODI Subquery KM 1 개요 - subquery문 ETL Job 수행 - 수행시 Temp table 미사용 - Interface와 패키지로 구성 - Hardcoding 최소화 1.1 업데이트 사항 V1.0 V2.0 SQL Query 저장 Database내 data로 저장 Java 변수에 저장 사전환경 구축 DB Schema 내 Oracle Procedure 생성 SQL Query 저장 Table 생성 없음 실행 로직 구현 Oracle Procedure 사용 Java logic 사용 데이터 적재 문법 Inssert Select Select Insert 사용 KM IKM LKM, IKM 활용 범위 하나의 Instance 내에서만 사용 가능 (원인 : 데이터 적재 방법) 다른 Instance 간에도 활용 가능 로그 Jython .. 더보기
odi dynamic batch scheduling 30s 30 초 배치 JOB_LOG - 환경 구성 JOB Log Table 생성 create table etl_job_log( sess_no number, sess_name varchar2(30), start_time varchar2(14), end_time varchar2(14), reg_time date ); 구성할 패키지. 전체적 시나리오 설명 - log 테이블에 각각의 job이 실행 될때 마다 종료시간을 로그로 남긴다. 1. 초기실행시 3변수의 값을 새로고침한다. - #V_S : 배치의 from 이 되는 변수로, 로그에서 마지막 적제된 종료시간을 추출 - #V_E : 배치의 to 가 되는 변수로, sysdate - #V_S_PLUS : 배치가 비정상적인 종료 후, 재가동되었을때 추출시간 간격을 유지하기 위해 사용.(#V_S + 1분.. 더보기
User Function 사용하기 사용자 지정함수사용. 생성 Name : 사용자함수 이름 예 : NullValue Group : 그룹 이름 Syntax : Name + Parameter 정보 예 : NullValue($(variable),$(default_value)) 구현 case when variable is null then depfault_value else variable *** analytics function 사용할때 group by문제 해결 방법 더보기
Interface Parallel Execution ( Temp Table 중복 관계없이 사용 가능 ) 2015.06.19 버전 ----------------------------------------------------- 문제점 : interface를 parallel 로 실행할 경우 work table 이름 중복 때문에 에러가 발생 해결방법 : work table이름을 다르게 한다. 접근방법 : java beanshell을 사용하여 세션번호를 템프테이블에 달아 식별가능하도록 만든다. 1. 사용하는 지식모듈의 첫 번째 명령에 다음 명령을 추가한다. Step Name: Parallel Setup Technology: Java Bean Shell Code: 2. Topology 의 해당 물리적 스키마의 템프테이블 부분을 수정. E$_ C$_ I$_ 완료 및 테스트 ! Two days ago Devendra .. 더보기
Using suqueries in Oracle Data Integrator (ODI) interfaces for complex data integration requirements ODI interface Subquery 구현 방법. 인터페이스에서 서브쿼리를 Temp Table을 생성하지 않고 SQL Query 관리를 통해 구현 가능함 환경 구성 Database Oracle 11g Userid/Password test/test 구성해 볼 Query INSERT INTO TEST.PRODUCT_SHIPMENT_DAY( MODEL, YYYYMMDD, PRODUCT_QTY, SHIPMENT_QTY ) select NVL(PROD.MODEL,SHIP.MODEL) MODEL, nvl(PROD.YYYYMMDD,SHIP.YYYYMMDD) YYYYMMDD, PROD.QTY PRODUCT_QTY, SHIP.QTY SHIPMENT_QTY from ( select SHIPMENT.MODEL MODEL.. 더보기