반응형
문제상황
1. 서버 환경 (dev, qa, prd ) 에 따라 파라미터를 변경하여, 케틀동작시에 다른 값을 전달하고 싶은 상황
2. 웹서버의 profile을 구현하고 싶음
해결방안
우선 내가 직접적으로 해결한게 아니고, 기존 동료가 만들어둔걸로 해결
1. 쉘 명령어로, 해당 서버의 환경변수를 가져온다 ( 환경변수에 dev, qa, prd 존재 )
#!/bin/bash
# Check an environment
case "$(echo ${env} | tr "A-Z" "a-z")" in
prd)
echo "Set for RELEASE"
ENV="release"
;;
dev)
echo "Set for DEV"
ENV="dev"
;;
*)
echo "Set for local"
ENV="local"
esac
# Generate a path of environment directory
ENV_PATH=${HOME}/vod/.env
# Set a global variables
echo "=== COMMON ENV VARIABLES ==="
cat ${ENV_PATH}/common.env
source ${ENV_PATH}/common.env
echo "=== ${ENV} ENV VARIABLES ==="
cat ${ENV_PATH}/${ENV}.env
source ${ENV_PATH}/${ENV}.env
if [[ ! (-e ${LOG_DIR} && -d ${LOG_DIR}) ]]; then
echo "${LOG_DIR} created."
mkdir ${LOG_DIR}
fi
echo "Setup done."
각 환경별 선언할 상수값 파일을 만듬
그리고 실행시에 케틀의 파라미터를 넘겨줌
${APP_DIR}/kitchen.sh -file:${KETTLE_FILE} \
-param:IMG_URL=${IMG_URL}
케틀에서 파라미터를 설정
job에 설정후 각 transformation 에 파라미터를 전달 가능
이후 쿼리 조회시에
스크립트의 변수 받기로하면, 이렇게 쓸수 있음
${parameter___}
원래는 Set and Get Variables 이걸 이용해서 가져오는데, 가져오는 방식은 여러가지가 있는듯
참고 동영상
https://www.youtube.com/watch?v=19T2VY4spGE
-- 추가
나는 지금까지 비교를 filter row 로만 사용했었는데,
validator Step 이 더 기능이 많은것 같다.
이것도 사용해보자
https://www.youtube.com/watch?v=JvxOrtcWhSs&t=5s
반응형
'개발ETC > pentaho pdi kettle' 카테고리의 다른 글
펜타호(Pentaho) 스푼(Spoon) 오픈소스 ETL(Extract, Transform, Load) 툴(tool) 다운로드 및 설치 작동 방법까지 (0) | 2023.04.12 |
---|---|
[kettle pentaho] pdi proflie 파라미터 환경변수 별 실행 (0) | 2023.04.11 |
[PDI_kettle] penataho ETL툴, join , 디폴트값 , 값 변경, 동작 대기; (0) | 2023.03.30 |
댓글