매크로는 Cloud Data Fusion 플러그인 속성 구성 내에 있는 자리표시자입니다. ${ }
로 묶인 변수(예: ${input_file_path}
)로 표시됩니다. 파일 경로 및 테이블 이름과 같은 요소에 동적 구성을 사용 설정하기 위해 자리표시자는 런타임 시 실제 값으로 대체됩니다.
플러그인 속성을 볼 때 옆에 M이 있는 속성 필드에 매크로를 추가할 수 있습니다. 매크로를 추가하려면 M을 클릭합니다.
자세한 내용은 매크로, 환경설정, 런타임 인수 관리를 참조하세요.
매크로 함수
매크로 외에도 다음과 같은 사전 정의된 매크로 함수를 사용할 수 있습니다.
logicalStartTime()
secure()
논리적 시작 시간 함수
logicalStartTime()
매크로 함수는 파이프라인 실행의 논리적 시작 시간을 문자열 값으로 반환합니다.
파라미터가 제공되지 않으면 시작 시간(밀리초)을 반환합니다. 모든 파라미터는 선택사항입니다. 이 함수는 시간 형식, 오프셋, 시간대를 인수로 사용하고 파이프라인의 논리적 시작 시간을 사용하여 대체를 수행합니다.
${logicalStartTime([timeFormat[,offset [,timezone])}
다음 목록에는 logicalStartTime()
의 선택적 파라미터가 나와 있습니다.
매개변수 | 설명 |
---|---|
timeFormat |
Java SimpleDateFormat 형식의 시간 형식 패턴입니다. |
offset |
논리적 시작 시간 이전의 타임스탬프입니다. |
timezone |
논리적 시작 시간에 사용할 시간대입니다. |
예시
이 예시에서 파이프라인 실행의 논리적 시작 시간은 2020-01-01T00:00:00
이고 다음 매크로를 제공합니다.
${logicalStartTime(yyyy-MM-dd'T'HH-mm-ss,1d-4h+30m)}
형식은 yyyy-MM-dd'T'HH-mm-ss
이며 오프셋은 논리적 시작 시간 전의 1d-4h+30m
입니다. 오프셋이 20.5시간으로 변환되므로 런타임 시 매크로 값은 2019-12-31T03:30:00
으로 대체됩니다. 전체 매크로는 2020년 1월 1일 자정까지 20.5시간으로 평가됩니다.
파일 기반 플러그인에서 logicalStartTime()
사용
이 함수를 사용하는 가장 일반적인 방법은 파일 기반 플러그인의 경로 필드에서 사용하는 것입니다.
파일 이름에 파이프라인 시작 시간(밀리초) 포함
파일 이름에서 실제 시작 시간(밀리초)을 캡처하려면 매크로 함수에서 파라미터를 생략합니다.
예시
이 예시에서는 Amazon S3 파일 이름에 파이프라인 시작 시간(밀리초)을 포함합니다.
sales_012345671011.csv
Amazon S3 싱크 속성의 경로 필드에 다음 값을 입력합니다.
s3a://sales-data/sales_${logicalStartTime()}.csv
파일 이름에 오늘 날짜 포함
파일 이름에서 logicalStartTime()
매크로 함수를 사용하여 현재 날짜를 캡처할 수 있습니다.
예시
이 예시에서는 다음 S3 파일 이름에서 오늘 날짜를 캡처합니다.
s3a://sales-data/sales_20210204.csv
Amazon S3 싱크 속성의 경로 필드에 다음 값을 입력합니다.
s3a://sales-data/sales_${logicalStartTime(yyyyMMdd)}.csv
logicalStartTime
을 사용하여 정형 레코드에 타임스탬프 필드 추가
필드 추가 변환과 logicalStartTime()
을 사용하여 타임스탬프를 정형 레코드에 추가할 수 있습니다.
- Cloud Data Fusion 허브에서 필드 추가 변환 플러그인을 가져옵니다. 플러그인을 배포하면 변환 목록에 필드 추가로 표시됩니다.
- 플러그인 속성을 구성할 때 타임스탬프를 정형 레코드에 추가합니다. 예를 들어 필드 이름에는 새 필드 이름을 입력하고 필드 값에는
logicalStartTime()
매크로 함수를 입력합니다.
보안 함수
secure()
매크로 함수는 단일 키를 인수로 받아 보안 저장소에서 키의 연결된 문자열 값을 조회합니다.
대체를 수행하려면 인수로 제공된 키가 이미 보안 저장소에 있어야 합니다. 이는 민감한 정보로 대체하는 경우에 유용합니다.
예시
이 예시에서는 MySQL 데이터베이스에 연결하는 플러그인의 경우 비밀번호 속성 필드를 다음 값으로 구성합니다.
${secure(password)}
이 매크로는 런타임 시 보안 저장소에서 비밀번호를 가져옵니다.
재귀 매크로
매크로는 다른 매크로를 최대 10개 수준까지 재귀적으로 참조할 수 있습니다. 매크로 인수는 가장 안쪽 인수부터 가장 바깥쪽 인수까지 평가됩니다.
예시
이 예시에는 호스트 이름과 포트를 참조하는 서버가 있습니다. 다음 런타임 인수를 제공합니다. 마지막 인수는 다른 매크로를 참조하는 매크로입니다.
- 호스트 이름:
examplepetstore.com
- 포트:
9991
- 서버 주소:
${hostname}:${port}
파이프라인 구성에서 다음 표현식을 사용합니다.
server-address: ${server-address}
런타임 시에 다음 값으로 대체됩니다.
examplepetstore.com:9991
다음 단계
매크로, 환경설정, 런타임 인수 자세히 알아보기
플러그인 템플릿 사용 방법 알아보기