본문으로 건너뛰기

외부 유저 속성 연관 가져오기 기능

최근 업데이트 2026. 10. 03.

1. 소개​

경우에 따라 외부 유저 데이터를 AE 클러스터로 가져와야 하지만, 데이터의 유저 식별자가 AE 시스템의 #account_id나 #distinct_id가 아닐 수 있습니다. 예를 들어 데이터가 휴대폰 번호, 신분증 번호 또는 기타 식별 ID를 기본 키로 사용하는 경우입니다. 이러한 데이터를 유저 속성으로 AE 시스템에 가져오려면 update_user_by_foreignkey 명령으로 연관 관계를 설정하여 외부 유저 속성을 AE 시스템에 업데이트해야 합니다. 현재 datax가 지원하는 모든 데이터 소스를 지원합니다:

2. 사용 방법​

2.1 명령 설명​

데이터 가져오기 명령은 다음과 같습니다.

ta-tool update_user_by_foreignkey -conf <config files> [--date xxx]

2.2 명령 파라미터 설명​

2.2.1 -conf​

전달하는 파라미터는 가져오기 작업의 설정 파일 경로입니다. 작업 하나가 설정 파일 하나에 해당하며, 여러 작업을 동시에 가져올 수 있고 와일드카드 방식도 지원합니다. 예: /data/config/* 또는 ./config/*.json

2.2.2 --date​

선택 파라미터 --date: 선택 사항으로, 데이터 날짜를 나타냅니다. 시간 매크로는 이 기준 시간을 바탕으로 치환됩니다. 전달하지 않아도 되며, 전달하지 않으면 기본적으로 현재 날짜를 사용합니다. 형식은 YYYY-MM-DD입니다. 시간 매크로의 구체적인 사용 방법은 시간 매크로 사용 방법을 참고하십시오

2.3 시간 매크로 사용 방법​

설정 파일 안에서 시간 매크로로 시간 파라미터를 치환할 수 있습니다. ta-tool 도구는 가져오기 시작 시간을 기준으로 시간 매크로의 파라미터에 따라 시간 오프셋을 계산하고, 설정 파일의 시간 매크로를 치환합니다. 지원하는 시간 매크로 형식: @[{yyyyMMdd}], @[{yyyyMMdd}-{nday}], @[{yyyyMMdd}+{nday}] 등

  • yyyyMMdd는 Java dateFormat으로 해석할 수 있는 임의의 날짜 형식으로 바꿀 수 있습니다. 예: yyyy-MM-dd HH:mm:ss.SSS, yyyyMMddHH000000

  • n은 임의의 정수로, 시간 오프셋 값을 나타냅니다

  • day는 시간 오프셋 단위를 나타내며, 다음 값을 사용할 수 있습니다: day, hour, minute, week, month

  • 예: 현재 시간이 2018-07-01 15:13:23.234라고 가정합니다

    • @[{yyyyMMdd}]는 20180701로 치환됩니다
    • @[{yyyy-MM-dd}-{1day}]는 2018-06-30으로 치환됩니다
    • @[{yyyyMMddHH}+{2hour}]는 2018070117로 치환됩니다
    • @[{yyyyMMddHHmm00}-{10minute}]는 20180701150300으로 치환됩니다

3. 기능 설명​

3.1 설정 예시​

{
"job": {
"content": [{
"reader": {
"name": "mysqlreader",
"parameter": {
"username": "username",
"password": "password",
"connection": [
{
"querySql": [
"SELECT card_id, property1, property2,property3 FROM table1;"
],
"jdbcUrl": [
"jdbc:mysql://ip:port/database"
]
}
]
}
},
"writer": {
"parameter": {
"appid": "6f9e64da5bc74792b9e9c1db4e3e3822",
"column": [{
"type": "string",
"name": "card_id"
},
{
"type": "string",
"name": "property1"
},
{
"type": "string",
"name": "property2"
},
{
"type": "double",
"name": "property3"
}
],
"joinkey":{
"importDataKey": ["card_id"],
"taUserTableKey": ["card_id"]
}
}
}
}]
}
}

3.2 파라미터 설명​

3.2.1 reader 부분​

  • reader 설정은 datax가 지원하는 reader와 동일합니다

datax 문서 참조

3.2.2 writer 부분​

  • appid

    • 설명: 해당 프로젝트의 appid입니다.
    • 필수: 예
    • 기본값: 없음
  • column

    • 설명: 읽을 필드 목록입니다. type은 데이터 타입을 지정하고, name은 reader의 해당 위치 열로서 AE 시스템에 가져올 때의 속성 이름을 지정합니다.

사용자는 Column 필드 정보를 지정할 수 있으며, 설정은 다음과 같습니다.

[
{
"type": "double",
"name": "property1"
},
{
"type": "string",
"name": "property2"
},
{
"type": "bigint",
"name": "property3"
}
]
  • joinkey.importDataKey

    • 설명: 설정 정보에서 writer의 column을 연관 열 이름으로 사용합니다.
    • 필수: 예
    • 기본값: 없음
  • joinkey.taUserTableKey

    • 설명: AE 시스템 user 테이블의 연관 열 이름입니다.
    • 필수: 예
    • 기본값: 없음

3.3 타입 변환​

DataX 내부 타입HIVE 데이터 타입
LongTINYINT,SMALLINT,INT,BIGINT
DoubleFLOAT,DOUBLE
StringSTRING,VARCHAR,CHAR
BooleanBOOLEAN
DateDATE,TIMESTAMP
이 문서가 도움이 되었나요?