HyperAuto V1에서 V2로 전환
V1은 Sunset 단계지만 전체 지원은 유지됩니다. V2는 SAP에 권장되며 Salesforce와 NetSuite 등 V1 전용 소스가 있으므로 지원 범위를 먼저 확인합니다. V2는 안내형 설정, 생성 로직을 볼 수 있는 Pipeline Builder와 변경 proposal, 실시간 스트리밍을 제공합니다.
호환성 차이
한 파이프라인의 소스 수
V1은 한 파이프라인에 여러 소스를 연결하고 마지막에 wide union할 수 있었습니다. 기본 키와 외래 키의 접두어로 source 이름을 사용하므로 소스 이름이 바뀌면 키 관계가 깨질 수 있어 이 방식은 권장하지 않습니다.
V2 파이프라인은 소스 하나에만 연결합니다. 출력에 source 열을 만들지 않고 기본 키 및 외래 키에도 source 접두어를 넣지 않습니다. 여러 원천의 출력을 합쳐야 하면 V2 파이프라인 뒤에 별도의 union 파이프라인을 둡니다. 전환할 때에는 이 키 형식 차이를 하위 소비자가 어떻게 사용하는지 확인합니다.
외래 키와 열 이름
V1의 느슨한 외래 키 추론은 실제 관계와 맞지 않는 열을 만들 수 있었습니다. V2는 더 보수적으로 관계를 생성하므로 외래 키 열 목록이 다를 수 있습니다. 필요한 관계가 잘못 빠졌다고 판단하면 Palantir 담당자에게 확인합니다.
V2는 더 풍부한 메타데이터로 열 이름을 만들기 때문에 같은 입력이라도 V1과 출력 열 이름이 다를 수 있습니다. 소비자를 바꾸기 전에 열과 관계를 비교합니다.
사용자 정의 정리 함수
V2의 자동 생성 내부에는 사용자 정의 cleaning function을 넣을 수 없습니다. 필요한 사용자 로직은 HyperAuto 뒤의 별도 파이프라인으로 구현합니다.
같은 테이블의 여러 동기화
V1의 batchUnionComponents처럼 여러 동기화를 같은 출력 테이블에 연결하는 설정은 V2에 없습니다. 필요한 원시 입력들을 HyperAuto 앞에서 합치고 폴더 기반 SAP가 그 결과를 읽게 구성합니다. 여러 소스의 최종 결과를 뒤에서 합치는 경우와 작업 위치가 다릅니다.
점진적인 전환
- 기존 V1과 같은 입력을 사용하고 대응 설정을 적용하는 V2 파이프라인을 새로 만듭니다.
- 기존 파이프라인의 하위 리포지토리, 분석과 앱을 찾습니다.
- 키 형식, 외래 키 목록과 열 이름 차이를 확인하고 소비자의 입력을 점진적으로 새 V2 출력으로 옮깁니다.
기존 V1 저장소를 V2로 이관하지 않는 경우에는 템플릿과의 연결을 끊고 일반 Python Transforms 저장소로 관리하는 경로가 있습니다. 저장소 내용은 유지되지만 사용자가 소유하고 수정하는 일반 사용자 정의 저장소가 됩니다.
템플릿 연결을 해제한 이후에는 설정 변경을 위한 자동 pull request 생성이 중단됩니다. 사용자가 V1 설정을 바꿀 때 직접 pull request를 만들어 관리해야 합니다.