메타데이터 관리 도구
1. 소개
메타데이터 관리 도구는 주로 AE 시스템의 이벤트 속성과 유저 속성의 타입을 수정하거나 삭제하는 데 사용됩니다. 메타데이터를 조정하면 데이터의 ETL 흐름이 일시 중지되므로, 타입을 잘못 가져와 데이터에 이상이 생긴 것이 확실한 경우에만 이 도구를 사용하고 자주 작업하지 않는 것을 권장합니다.
2차 개발 도구로 이벤트 전송 속성을 수정한 후에는 비즈니스 담당자에게 데이터 → 데이터 관리 → 이벤트 속성 페이지에서 속성의 연결 관계가 정상인지 확인하도록 요청하십시오(목록의 연결 상태 열과 페이지 오른쪽 상단의 소스 이벤트 속성 관리 페이지에 있는 이벤트 전송 속성 목록을 확인합니다. 유저 속성도 마찬가지로 데이터 → 데이터 관리 → 유저 속성 페이지에서 확인합니다). 이렇게 하면 타입 변경으로 인해 해당 속성을 이미 사용하는 대시보드, 리포트, 태그 등의 리소스가 정상적으로 계산되지 않는 문제를 방지할 수 있습니다.
2. 사용 설명
메타데이터 관리 도구는 프라이빗 배포 서비스 사용자만 사용할 수 있습니다. root 사용자로 프라이빗 클러스터에서 2차 개발 도구가 배포된 서버(분산 배포 시 기본적으로 처음 3대)에 로그인하여 su - ta를 실행합니다
그런 다음 ta-tool modify_meta를 실행하면 메타데이터 관리 도구 화면으로 들어갑니다.
su - ta
ta-tool modify_meta
2.1 처리할 프로젝트의 appid 입력
먼저 수정할 프로젝트의 appid를 입력해야 합니다. appid는 AE 시스템의 프로젝트 관리 페이지에서 확인할 수 있습니다.
속성을 수정하거나 삭제할 프로젝트의 appid를 입력하십시오 >××××
2.2 프로젝트 이름 확인
appid를 입력하면 수정할 프로젝트의 이름이 표시됩니다. "y"를 입력하면 확인하고, "n"을 입력하면 작업을 취소합니다
수정할 프로젝트를 확인하십시오: 프로젝트 테스트 데모 <y/n> y
2.3 메타데이터 작업 유형 선택
이제 실행할 작업 유형을 추가할 수 있습니다. 여기서는 반복 추가 작업을 지원하므로, 작업 설정 하나를 완료한 후 다른 작업을 추가할 수 있으며 추가 완료를 선택할 때까지 계속할 수 있습니다. 모든 수정 또는 삭제 작업을 한 번에 모아서 완료하는 것을 권장합니다.
작업 유형을 선택하십시오
1. 이벤트 속성 타입 수정
2. 유저 속성 타입 수정
3. 이벤트 속성 삭제
4. 유저 속성 삭제
5. 추가 완료
>
2.4 이벤트 속성 타입 수정
2.4.1 일반 이벤트 속성 수정
-
예: 이벤트 속성 argNum의 타입을 number에서 string으로 수정합니다:
- 작업 유형 선택: 1
- 이벤트 속성 이름 입력: argNum
- 수정 타입 입력: string
작업 유형을 선택하십시오
>1
현재 작업은 이벤트 전송 속성만 수정합니다. 수정 후 <데이터 관리-이벤트 속성> 페이지에서 이상이 없는지 확인하십시오!
수정할 이벤트 속성 이름을 입력하십시오>argNum
현재 타입: [number], 변경할 타입을 입력하십시오
number. 숫자 타입
string. 문자열 타입
datetime. 시간 타입
bool. 불리언 타입
array. 리스트 타입
row. 객체 타입
array_row. 객체 리스트 타입
>string
2.4.2 객체, 객체 그룹 하위 속성 수정
메타데이터 관리 도구에서는 수정/삭제할 때 상위 속성.하위 속성 표현 방식으로 객체(그룹)의 하위 속성을 지정할 수 있습니다
-
예: 객체(그룹) 속성 argrow의 하위 속성 channel_id의 타입을 number에서 string으로 수정합니다:
- 작업 유형 선택: 1
- 이벤트 속성 이름 입력: argrow.channel_id
- 수정 타입 입력: string
작업 유형을 선택하십시오
>1
현재 작업은 이벤트 전송 속성만 수정합니다. 수정 후 <데이터 관리-이벤트 속성> 페이지에서 이상이 없는지 확인하십시오!
수정할 이벤트 속성 이름을 입력하십시오>argrow.channel_id
현재 타입: [number], 변경할 타입을 입력하십시오
number. 숫자 타입
string. 문자열 타입
datetime. 시간 타입
bool. 불리언 타입
array. 리스트 타입
>string
2.5 유저 속성 타입 수정
2.5.1 일반 유저 속성 수정
-
예: 유저 속성 user_argNum의 타입을 number에서 string으로 수정합니다:
- 작업 유형 선택: 2
- 유저 속성 이름 입력: user_argNum
- 수정 타입 입력: string
작업 유형을 선택하십시오
>2
수정할 유저 속성 이름을 입력하십시오>user_argNum
현재 타입: [number], 변경할 타입을 입력하십시오
number. 숫자 타입
string. 문자열 타입
datetime. 시간 타입
bool. 불리언 타입
array. 리스트 타입
row. 객체 타입
array_row. 객체 리스트 타입
>string
2.5.2 객체, 객체 그룹 하위 속성 수정
-
예: 객체(그룹) 속성 user_argrow의 하위 속성 channel_id의 타입을 number에서 string으로 수정합니다:
- 작업 유형 선택: 2
- 유저 속성 이름 입력: user_argrow.channel_id
- 수정 타입 입력: string
작업 유형을 선택하십시오
>2
수정할 유저 속성 이름을 입력하십시오>user_argrow.channel_id
현재 타입: [number], 변경할 타입을 입력하십시오
number. 숫자 타입
string. 문자열 타입
datetime. 시간 타입
bool. 불리언 타입
array. 리스트 타입
>string
2.6 이벤트 속성 삭제
-
예: 일반 이벤트 속성 argbool과 객체(그룹) 속성 argrow의 하위 속성 level을 삭제합니다:
- 작업 유형 선택: 3
- 이벤트 속성 이름 입력: argbool,argrow.level
작업 유형을 선택하십시오
>3
현재 작업은 이벤트 전송 속성만 삭제합니다. 삭제 후 <데이터 관리-이벤트 속성> 페이지에서 이상이 없는지 확인하십시오!
삭제할 이벤트 속성 이름을 입력하십시오. 여러 개는 쉼표로 구분합니다>argbool,argrow.level
2.7 유저 속성 삭제 시 작업
-
예: 일반 유저 속성 user_argbool과 객체(그룹) 속성 user_argrow의 하위 속성 level을 삭제합니다:
- 작업 유형 선택: 4
- 유저 속성 이름 입력: user_argbool,user_argrow.level
작업 유형을 선택하십시오
>4
삭제할 유저 속성 이름을 입력하십시오. 여러 개는 쉼표로 구분합니다>user_argbool,user_argrow.level
2.8 수정 및 삭제 작업 추가 완료
- 모든 설정을 완료한 후 5를 입력하여 확인합니다
작업 유형을 선택하십시오
>5
다음은 [프로젝트 테스트 데모] 프로젝트에서 조정할 속성 meta입니다:
이벤트 속성 타입 수정 목록:
argnum: number -> string
argrow.channel_id: number -> string
유저 속성 타입 수정 목록:
user_argnum: number -> string
user_argrow.channel_id: number -> string
삭제할 이벤트 속성 목록:
argbool
argrow.level
삭제할 유저 속성 목록:
user_argbool
user_argrow.level
경고: 작업이 완료되면 이미 가져온 데이터에서 타입을 수정한 속성 값은 NULL로 설정됩니다. 속성 타입 수정과 속성 삭제 작업은 모두 롤백할 수 없습니다!
경고: 작업하려는 속성에 리소스 의존성이 있어 해당 리소스에 영향을 줍니다. 확인한 후 작업하십시오!
-----이벤트 속성[argrow.channel_id], 영향 타입: [일반 의존성], 변경 타입: [update]-----
-----이벤트 속성[argnum], 영향 타입: [일반 의존성], 변경 타입: [update]-----
-----유저 속성[user_argnum], 영향 타입: [일반 의존성], 변경 타입: [update]-----
-----이벤트 속성[argbool], 영향 타입: [일반 의존성], 변경 타입: [delete]-----
-----이벤트 속성[argrow.level], 영향 타입: [일반 의존성], 변경 타입: [delete]-----
-----유저 속성[user_argrow.channel_id], 영향 타입: [일반 의존성], 변경 타입: [update]-----
-----유저 속성[user_argbool], 영향 타입: [일반 의존성], 변경 타입: [delete]-----
-----유저 속성[user_argrow.level], 영향 타입: [일반 의존성], 변경 타입: [delete]-----
작업이 완료되면 타입을 수정한 속성 값은 NULL로 설정되며, 수정과 삭제는 모두 롤백할 수 없습니다.
2.9 작업 확인
- 실행하기 전에 최종 확인을 진행합니다. "y"를 입력하면 확인하고, "n"을 입력하면 작업을 취소합니다
작업을 실행합니다. 확인하십시오(y/n)>y
다시 확인하십시오(y/n)>y
2.10 관련 작업 실행
확인이 완료되면 관리 도구는 먼저 AE 시스템의 데이터 ETL 서비스를 일시 중지합니다. 그런 다음 이번 설정의 모든 작업을 실행하고, 모든 작업이 완료되면 데이터 ETL 서비스를 다시 시작합니다. 이 기간에 전송된 데이터는 저장이 지연되지만 유실되지는 않습니다.
...
=== ta1 ETL 서비스 중지 ===
=== ta1 ETL 중지 성공 ===
...
이벤트 속성 타입 수정 성공, argnum: number -> string
...
유저 속성 타입 수정 성공, user_argnum: number -> string
...
이벤트 속성 타입 삭제 성공, argbool
...
유저 속성 타입 삭제 성공, user_argbool
...
----------속성 수정 작업 실행 성공----------
== etl 구성 요소 시작 대기 ==
== ta1ETL 시작 성공 ===
----------업데이트 전역 잠금 해제 시작----------
----------업데이트 전역 잠금 해제 완료----------
프로젝트 속성 조정 성공
2.11 최종 결과 표시
2.12 데이터에 미치는 영향
2.12.1 일반 속성
일반 속성을 수정하면 해당 속성의 이전에 가져온 데이터가 null로 설정됩니다.
2.12.2 상위 속성
상위 속성을 수정하면 해당 상위 속성의 이전에 가져온 데이터가 모든 하위 속성의 값을 포함하여 null로 설정됩니다.
2.12.3 하위 속성
하위 속성을 수정하면 해당 하위 속성의 이전에 가져온 데이터가 null로 설정되며, 같은 상위 속성 아래의 다른 하위 속성에는 영향을 주지 않습니다.
3. 주의 사항
- 수정 및 삭제를 실행하는 동안 세션이 끊어지거나 Ctrl + C로 작업을 중단하는 일이 없도록 하십시오.
- 속성을 수정하고 삭제하면 ETL 흐름이 중지되므로, 데이터의 실시간 유입에 영향을 주지 않도록 자주 작업하지 마십시오.
- 하위 속성은 복합 구조 타입으로 수정할 수 없습니다.

