단계: 스크립팅된 데이터 소스 설정
스크립팅된 데이터 소스를 사용하면 복잡한 커스텀 데이터 추출 및 변환 시나리오를 해결할 수 있습니다. Kettle ETL 스크립트를 작성하여 데이터를 추출할 정보 소스를 지정한 후 고객별 비즈니스 규칙을 추출된 데이터에 적용합니다. 스크립팅된 데이터 소스를 설정하려면 먼저 네트워크의 온-프레미스 Windows 서버에 데이터 에이전트가 설치되어 있어야 합니다. 참조 개념: 데이터 에이전트을 참조하십시오.
Kettle 내에서 사용되는 플랫폼 또는 스크립트는 자동으로 업그레이드 또는 마이그레이션되지 않습니다. 레거시 데이터 에이전트(Kettle 4.4 포함)를 사용하려면 통합의 에이전트 UI에서 '레거시 에이전트 다운로드' 섹션에 있는 링크를 사용해야 합니다. Kettle 6으로 업그레이드하려는 경우 이전에 Kettle을 설치한 적이 없는 시스템에 새 데이터 에이전트와 새 Kettle 버전을 다시 설치해야 합니다.
스크립팅된 데이터 소스는 Pentaho Kettle 스크립트를 작성하고 Spoon UI를 사용한 경험이 있는 고급 ETL 구현자가 사용할 수 있습니다. 광범위한 설명서 및 튜토리얼을 포함하여 Pentaho Kettle 및 Spoon에 대한 자세한 내용은https://docs.hitachivantara.com/p/pentaho-dia를참조하십시오.
스크립팅된 데이터 소스를 설정하려면 다음을 수행합니다.
- 통합 > 통합 디자인으로 이동하여 데이터 디자이너에 액세스합니다.
- 화면 오른쪽의 구성요소 라이브러리에 있는 데이터 소스 폴더에서신규 데이터 소스 생성을 클릭합니다. 신규 생성 대화 상자가 나타납니다.
- 데이터 소스 유형으로스크립팅된 데이터 소스를 선택하고 데이터 소스의 이름을 입력합니다.
- 생성을 클릭합니다. 화면 가운데에 신규 데이터 소스의 설정과 기타 정보가 표시됩니다.
- 데이터 소스의 정보를 입력합니다.
- 연결된 에이전트:드롭다운 목록에서 에이전트를 선택합니다.
- 진입점:드롭다운 목록에서 진입점을 선택합니다. 진입점은 시스템의 ETL 스크립트입니다. 이는 나중에 편집할 수 있습니다.
- 로그 레벨:드롭다운 목록에서 로그 레벨을 선택하여 이 데이터 소스에 대한 로그의 세부내용을 지정합니다. 옵션은 다음과 같습니다.
- 오류:심각한 오류만 기록합니다.
- 정보:데이터 소스가 업데이트된 시기와 같은 모든 기본 정보를 기록합니다.
- 상세:모든 단계 및 액션에 대한 매우 상세한 정보를 제공합니다. (이 레벨은 일반적인 사용에 비해 더 많은 로그 정보를 생성할 수 있으므로 주로 디버깅 또는 감사에 사용합니다.)
- 소스 URI:스크립트가 연결하는 URI를 세미콜론(;)으로 구분하여 입력합니다. 이 필드는 스크립트가 연결하는 기본 소스 시스템을 식별하고 문서화하는 데 도움을 주기 위한 용도로만 사용되며 다른 용도로는 사용되지 않습니다.
- 액션메뉴에서 저장을 클릭합니다.
Spoon 시작
스크립팅된 데이터 소스의 기본 정보를 저장한 후에는 ETL 스크립트 편집기인 Spoon을 시작하고, 스크립트로 작업하고, 테이블을 스크립팅된 데이터 소스에 추가할 수 있습니다.
스크립트를 조회하고 편집하려면 다음을 수행합니다.
- Windows 시작 메뉴에서모든 프로그램을 클릭합니다.
- Workday Adaptive Planning Data Agent 폴더를 엽니다. 데이터 에이전트 버전 7.1.44 이하의 경우 Adaptive Data Agent 폴더를 엽니다.
- Adaptive Script Editor를 클릭합니다. Pentaho 시작 화면 및 시작 팁이 표시된 후에 Spoon 화면이 표시됩니다.
- 다음을 입력하십시오.Adaptive Planning로그인 이메일 및 비밀번호를 입력하고지금 로그인/테넌트 목록 새로고침 을클릭합니다. Workday에서 사용자를 동기화한 경우Workday Credentials를 사용하여 데이터 에이전트 및 Script Editor에 로그인을 참조하십시오.
- 드롭다운에서 테넌트를 선택합니다. 일반적으로 하나의 테넌트만 있습니다. Spoon이 테넌트 목록이 새로 고쳐집니다.
- 드롭다운에서 이 데이터 소스에 사용할 에이전트를 선택합니다. Spoon에서 에이전트 목록이 새로 고쳐집니다.
- 'Edit Script'의 드롭다운에서 방금 생성한 스크립팅된 데이터 소스를 선택합니다.
Spoon에 로그인했고 Spoon에 현재 작업 중인 에이전트 및 데이터 소스를 지정했으므로 스크립트 편집 작업을 시작할 수 있습니다.
- Spoon 화면의 오른쪽 위에 있는 Data Integration을 클릭합니다. Spoon의 Integration 퍼스펙티브가 표시됩니다.
- File > Open을 선택한 후 조회하고 편집할 스크립트를 찾은 다음OK를 클릭합니다. 통합에 포함된 스크립팅된 데이터 소스 샘플 스크립트는 자체 스크립트를 개발할 때 유용한 스크립트 구조 및 데이터베이스 연결에 대한 정보를 제공합니다.
- 스크립트를 적절하게 편집한 후 저장합니다.
- 오른쪽 위에 있는 Adaptive를 클릭하여 Adaptive 퍼스펙티브로 돌아갑니다. Spoon 화면이 다시 표시됩니다.
- Publish Agent Changes를 클릭합니다. 그러면 스크립트가Adaptive Planning서버(스크립트 저장소에 저장됨)
다음과 같은 데이터 가져오기 모드가 지원됩니다. 설정은 테이블마다 다를 수 있습니다.
- 데이터를 가져올 때마다 레코드가 모두 바뀝니다.
- 데이터가 동기화될 때마다 원격 에이전트가 모든 소스 레코드를 스캔하고 변경된 레코드를 전송합니다.
- 기간 범위에 해당하는 레코드가 모두 전송됩니다.
스크립팅된 데이터 소스에 테이블 및 열 추가
스크립트가 적용된 경우 통합에서 데이터 소스에 테이블 및 열을 추가할 수 있습니다.
데이터 소스에 정의된 열은 ETL 스크립트에 정의된 열과 정확히 일치해야 하며, 그렇지 않으면 데이터 로드가 실패합니다.
스크립팅된 데이터 소스에 테이블을 추가하려면 다음 단계를 따르십시오.
- 데이터 구성요소 메뉴에서 커스텀 테이블 항목을 확장합니다.
- 스크립팅된 테이블항목을 가져올 테이블 영역으로 끌어서 놓습니다. 이 항목을 놓으면 스크립팅된 테이블 대화 상자가 표시됩니다.
- 테이블 설정을 입력합니다.
- 이름:테이블의 이름을 입력합니다.
- 데이터 가져오기 모드:가져오기 모드 중 하나를 선택합니다.
- 데이터 가져오기를 실행할 때마다 레코드가 모두 바뀝니다:기본 옵션입니다. 데이터를 가져올 때마다 스테이징 영역의 레코드가 모두 바뀝니다.
- 가져오기 시 변경된 레코드를 식별 및 전송하는 데 원격 캐시를 사용합니다:통합에서 스테이징 영역을 검토하고 이를 스프레드시트 또는 데이터베이스의 레코드와 비교한 후 변경된 레코드만 가져옵니다.
- 기간 범위에 해당하는 레코드가 모두 전송됩니다:이 모드를 선택하면 기간 범위와 통합에서 이 범위를 적용할 열을 입력하라는 메시지가 표시됩니다. 이 선택 조건을 충족하는 레코드를 모두 가져옵니다.
- 데이터 가져오기 필터:가져오는 정보를 필터링하거나 형식을 지정하는 SQL 표현식을 입력하려는 경우 사용합니다. SQL 필터는 데이터를 데이터베이스에서 추출하기 전에 적용되어 가져올 데이터 양을 줄이며, 스테이징 영역으로 어떠한 데이터를 가져올지에 대한 추가적인 제어 레벨을 제공합니다. 필드를 클릭하면 앞에서 설명한 SQL 필터 편집 대화 상자가 표시됩니다. (여기에 입력하는 필터는 스테이징 영역의 미리보기 데이터가 아니라 데이터베이스의 실제 데이터에 적용됩니다.)
- 적용을 클릭하여 설정을 적용합니다.
스크립팅된 데이터 소스에 열을 추가하려면 다음 단계를 따르십시오.
- 데이터 구성요소 메뉴에서 커스텀 열 항목을 확장합니다.
- 열 유형 중 하나를 가져올 테이블 영역으로 끌어서 놓습니다. 이 항목을 놓으면 커스텀 열 대화 상자가 표시됩니다.
- 열 설정을 입력합니다.
- 이름:열의 이름을 입력합니다. 열 이름은 대/소문자 구분 및 공백을 포함하여 Spoon에서 스크립트에 지정된 열 이름과 정확히 일치해야 합니다.
- 열 유형:열 유형을 식별하는 표시 전용 필드입니다.
- 열 유형 변환:SQL 열을 제외하고는 이 값을 변경할 수 없습니다. SQL 열의 경우, 여섯 가지 변환 옵션 중에서 선택할 수 있습니다.
- 적용을 클릭하여 설정을 적용합니다.
열 관리
작업 중인 테이블에 많은 열이 있는 경우 '열 관리'를 사용하여 가져올 열을 신속하게 편집할 수 있습니다. '열 관리' 대화 상자에 테이블의 열이 표시되므로 가져올 열을 선택하거나 선택취소할 수 있습니다.
가져올 열을 관리하려면 다음을 수행합니다.
- 테이블명 오른쪽에 있는 탭의 화살표를 클릭합니다. 여러 옵션이 포함된 부동 메뉴가 나타납니다.
- 부동 메뉴에서열 관리를 클릭합니다. 열 관리 대화 상자가 나타납니다.
- 가져올 열 옆에 있는 확인란을 선택합니다. 열을 선택하면 팝업 콘텐츠가 저장된 후 미리보기 창에도 해당 열이 나타납니다. 열을 선택취소하면 미리보기 창에서 해당 열이 제거됩니다. 다음과 같이 시스템에서 생성된 필드에서는 가져오기 상태를 변경할 수 없습니다.isDeleted. 열 속성을 선택하고 속성을 설정하거나 열을 디자이너로 끌어서 놓는 방법으로 개별 열의 가져오기 상태를 변경할 수 있습니다.
테이블 커스터마이즈
각 테이블에 대해 데이터를 가져오는 방법을 커스터마이즈할 수 있습니다.
테이블 설정을 커스터마이즈하려면 다음 단계를 따르십시오.
- 테이블명 오른쪽에 있는 탭의 화살표를 클릭합니다. 여러 옵션이 포함된 부동 메뉴가 나타납니다.
- 부동 메뉴에서테이블 설정을 클릭합니다.
- 적용을 클릭하여 설정을 적용합니다.
- 각 테이블에 대해 1~3단계를 반복합니다.
- 저장을 클릭하여 데이터 소스에 설정을 저장합니다.
열 옵션 설정
'가져올 테이블' 섹션을 사용하는 동안에는 데이터 소스에 있는 데이터 또는 가져온 후 스테이징 영역에 있는 데이터를 있는 그대로 미리 볼 수 있습니다. 각 열의 제목 위로 마우스 커서를 가져간 후 이름 옆에 있는 드롭다운을 클릭하여 각 열에 대한 옵션을 변경할 수 있습니다. 해당 옵션은 다음과 같습니다.
- 오름차순 정렬:이 열을 기준으로 전체 테이블을 오름차순으로 정렬합니다.
- 내림차순 정렬:이 열을 기준으로 전체 테이블을 내림차순으로 정렬합니다.
- 열 설정:이 대화 상자는 스테이징 테이블 내에서 열의 속성을 변경하는 데 사용됩니다.
- 이름:헤더에 표시된 열의 이름입니다.
- 열 유형:열에 사용된 데이터 유형입니다.
- 열 유형 변환:이 드롭다운 메뉴에서 새 유형을 선택합니다.
- 가져오기에서 열 제외: 가져오는 데이터에서 이 열을 제거하려면 이 옵션을 선택합니다.
- 커스텀 열 삭제:열을 삭제하려면 이 옵션을 선택합니다. (커스텀 열에만 사용할 수 있습니다.)
스테이징 테이블에서 데이터 다운로드
단일 스테이징 테이블에서 데이터를 다운로드할 수 있습니다.
단일 스테이징 테이블에서 데이터를 다운로드하려면 다음을 수행합니다.
- 가져올 테이블 섹션의 테이블 제목에서 아래쪽 화살표를 클릭합니다.
- 데이터 다운로드를 선택합니다.
- 이 작업을 수행하면 데이터를 다운로드할 수 있는 URL이 포함된 이메일을 전송합니다라는메시지가 표시되면전송 을클릭합니다.Adaptive Planning에서 데이터 디자이너와 연결된 이메일 계정으로 URL이 포함된 이메일을 전송합니다.
- 이메일을 열고 URL을 클릭합니다. 데이터가 .csv 형식으로 다운로드됩니다.
고급 필터 사용
'소스' 드롭다운 메뉴 아래에서
고급 필터
를 클릭하여 가져올 테이블
미리보기 영역에서 데이터를 필터링하는 옵션을 표시할 수 있습니다. 고급 필터는 스테이징 테이블 내에서 또는 스크립트에서 데이터 하위 세트를 조회하고 검색할 수 있는 도구를 제공합니다. (소스 드롭다운에서 스크립트를 선택하면 처리를 위해 미리보기 요청이 에이전트로 전송됩니다.) 필터 속성을 변경하면 스테이징 영역에서 데이터를 변경하지 않고도 미리보기 창에 표시되는 데이터의 뷰를 변경할 수 있습니다.미리보기 영역은 특별히 스테이징 영역에서 데이터의 일부를 미리 보기 위한 영역입니다. 스프레드시트에서 사용할 수 있는 데이터를 탐색하고, 스테이징 영역을 검사하여 예상하는 데이터를 가져오는지 확인할 수 있습니다. (미리보기 기능에 설정된 필터는 스테이징 영역의 실제 데이터에는 영향을 주지 않습니다.)
고급 필터의 옵션은 다음과 같습니다.
- 고유 행: 중복된 행을 숨기려면 이 확인란을 선택합니다.
- 최대 행 수: 텍스트 상자에 숫자를 입력하여 미리보기 영역에 표시되는 행의 수를 제한합니다.
- 열: 이 드롭다운 메뉴에서 열을 선택하거나 선택취소하여 열을 표시하거나 숨깁니다.
이 목록에서 열을 제거해도 가져오기 목록에서는 열이 제거되지 않습니다.
- SQL 필터: 큰 텍스트 상자를 클릭하면 SQL 필터 편집 대화 상자가 표시됩니다(앞에서 설명함). 여기에서 SQL 필터를 입력하여 미리 보는 행을 제한할 수 있습니다.적용을 클릭하면 필터의 SQL 구문이 자동으로 검사됩니다. (오류가 있을 경우, 표현식에 오류가 표시됩니다.) 상세한 SQL 구문 도움말을 확인하려면 메모 섹션에서 온라인 도움말을 클릭합니다.
고급 필터 설정을 모두 지우려면
필터 제거
('소스' 드롭다운 메뉴 옆에 있음)를 클릭합니다.테이블 커스터마이즈 프로세스의 일부로 SQL 표현식을 사용하여 조인 테이블 및 커스텀 열을 생성할 수도 있습니다.
매개변수 추가 및 편집
매개변수를 사용하여 기본 Kettle 스크립트에 정보를 전달할 수 있습니다. 이러한 매개변수는 기본값으로 설정할 수 있습니다. 그러면 스크립트가 매개변수를 사용하여 ETL 스크립트에서 변환 및 필터링을 제어할 수 있습니다.
매개변수를 추가하려면 다음을 수행합니다.
- 매개변수 제목 오른쪽의매개변수 편집아이콘을 클릭합니다. 매개변수 편집기 대화 상자가 나타납니다.
- 왼쪽 창에서 매개변수를 추가하려는 폴더를 클릭합니다. 폴더명이 오른쪽 창에 나타납니다.
- 추가를 클릭하고 부동 메뉴에서 다음 옵션 중 하나를 선택합니다.
- 폴더: 신규 폴더를 생성합니다.
- 부울: 부울 매개변수(true/false)를 생성합니다.
- 정수: 정수 매개변수를 생성합니다.
- 텍스트: 텍스트 매개변수를 생성합니다.
- 비밀번호: 비밀번호 매개변수를 생성합니다.
- 기간 범위: 기간 범위 매개변수(시작일/종료일)를 생성합니다.
- 디멘션: 디멘션을 생성합니다.
- 실제값 버전: 실제값 버전을 생성합니다.
- 계획 버전: 계획 버전을 생성합니다.
- 오른쪽 창에 선택한 옵션에 대한 정보를 입력합니다.
- 적용을 클릭합니다.
왼쪽 창에서 편집할 항목을 두 번 클릭하고 필드에서 정보를 변경한 후 적용을 클릭하여 변경사항을 저장하는 방법으로 개별 매개변수 또는 폴더를 편집할 수 있습니다.
또한, 매개변수를 그룹화할 폴더를 생성한 후 매개변수를 폴더로 끌어서 놓을 수도 있습니다.
스크립팅된 데이터 소스를 사용해 데이터 가져오기
스크립팅된 데이터 소스를 설정하고 저장했으면 데이터를 가져올 수 있습니다.
스크립팅된 데이터 소스를 사용해 데이터를 가져오려면 다음을 수행합니다.
- 액션 메뉴에서데이터 가져오기를 클릭합니다. 선택한 데이터가 ETL 스크립트 및 SQL 표현식으로 필터링되어 스테이징 영역에 로드됩니다. 스테이징 영역에서 해당 데이터를 미리 볼 수 있습니다.
정보는 사용자가 지우거나 활성 상태의 데이터 가져오기 모드 설정에 따라 후속 데이터 로드로 인해 지워질 때까지 스테이징 영역에 남아 있습니다.
스테이징 영역에서 데이터를 지우려면 다음을 수행합니다.
- 액션 메뉴에서스테이징 테이블 지우기를 클릭합니다. 데이터 소스의 모든 테이블에 대한 스테이징 영역이 지워집니다.