2014-11-25 2 views
3

매우 일반적인 작업이고 다른 매개 변수가 다른 파일의 컨텍스트 매개 변수로 전달됩니다. 하지만 여전히 컨텍스트 을 "하드 코드"하고 TAC (Talend Administration Console)에서 여러 작업을 만들어 실행해야합니다. 내가 원하는 일은 일반적인 작업을 사용하고 컨텍스트 파일을 TAC의 해당 작업 에 사용되도록 전달하는 것입니다. 그런 다음 작업 실행의 일부로 전달되는 컨텍스트 파일을 읽고 컨텍스트로로드합니다. 제 질문은 어떻게 달성 할 수 있습니다, 기본적으로 실행 시간에 따라 TAC에서 다른 컨텍스트 파일을 전달합니까?작업 실행을 위해 TAC에서 매개 변수를 전달합니다.

감사합니다.

답변

1

일반 작업을 컨텍스트 (또는 해당 컨텍스트 파일에 대한 링크)가 들어있는 여러 래퍼 작업으로 둘러싸고이 컨텍스트 변수를 일반 하위 작업에 전달할 수 있습니다.

여러 작업에서 필요하지만 다른 데이터를 다른 사용자에게 전달하거나 다른 방식으로 데이터를 표시하려는 일부 일반 기능이있는 경우이 방법이 유용합니다.

그런 다음 일반 작업의 논리를 변경하면 모든 래퍼 작업이 새로운 논리를 즉시 사용하게됩니다.

물론 TAC에 액세스 할 수있는 Enterprise 라이선스가있는 경우 더 나은 대안은 바로 목적을 위해 설계된 데이터 소스/데이터 소스를 완전히 변경할 수있는 작업 레트입니다. 목표를 설정하고 논리를 분리하십시오.

또는 TAC를 사용하여 필요에 따라 사용자 지정 컨텍스트 변수를 전달할 수 있습니다. 이렇게하려면 작업 지휘자의 작업을 클릭 한 다음 하단 (트리거 옆)에있는 "컨텍스트 매개 변수"버튼을 누릅니다. 여기서 원하는 값을 하드 코딩 할 수 있습니다.

대부분의 실행에 대해 기본 컨텍스트 변수를 설정했지만 런타임에 상황을 가끔씩 조정하려고하는 작업에이 기능을 사용하는 경향이 있습니다. 따라서 데이터 필터링을 허용하는 컨텍스트 변수가있을 수 있으며이를 모두 기본값으로 설정했습니다. 런타임에 필자는 필터 기준 컨텍스트 변수를 선택하고이 실행을 위해 필터링 할 대상을 지정합니다.

+0

또한 실행 계획의 컨텍스트를 재정의 할 수도 있습니다. 실행 계획은 다시 정의 할 수있는 재정의 된 컨텍스트 변수를 사용합니다. –

+0

@BalazsGunics 이것은 주제에서 완전히 벗어나고있다. 그러나 필자는 부모 래퍼 작업에서 사용할 작업을 래핑하는 것보다는 실행 계획을 사용하는 이유를 아직 보지 못했다. 나에게 훌륭한 예제 사용법을 제공 할 수 있다면 정식 질문을 작성하여 기꺼이 자세히 대답 할 수 있습니다. – ydaetskcoR

+0

먼저 실행 계획이 싫다는 것을 말해야합니다. 최근에 컨텍스트 매개 변수를 무시할 수 있음을 발견했습니다. 예를 들어, 두 시스템간에 데이터를 이동시키는 일반 작업이있는 경우 실행 계획을 생성 할 수 있습니다. 첫 번째 실행에서 스키마 A + 테이블 (...)이로드되고 두 번째 실행에서 스키마 B + 테이블 (...)이로드됩니다.) 이렇게하면 원본 - 대상 매개 변수를 한 번 정의한 다음 실행될 때마다 실행 계획에 정의 된 실행 매개 변수를 가질 수 있습니다. 따라서 Studio를 열 필요가 없습니다. DWH 작업의 경우 exec 계획 대신 작업을 사용합니다 –

관련 문제