2013-04-19 3 views
1

일일 저장된 파일에서 데이터를 가져 오는 파티션 된 db를 만들었습니다. 그것은 잘 작동하지만 같은 날 파일을 두 번 파티션 스크립트를 실행하면 kdb가 중복 행을 추가 할 수 있다고 걱정됩니다.kdb 파티션 테이블 데이터가 중복되지 않도록하려면 어떻게해야합니까?

파티션 된 테이블이 있는지 확인하려면 '키'를 사용해야합니까? 아니면 kdb가 저장된 데이터를 복제하지 못하도록하는 간단한 방법이 있습니까?

답변

1

문제가 1) 두 번 이상 같은 파일을로드하거나 2) 여러 파일에 동일한 데이터가 포함되어있어 이후로드가 필요하지 않은지 잘 모르겠습니다. 중복을 만들 수 있습니다.

1)의 경우 DB를 만드는 데 사용하는 일일 저장된 파일이 업데이트되지 않고 고유 한 이름을 가진 경우 이미로드 된 파일을 추적하고 후속 실행시이를 건너 뛸 수 있습니다.

2) 물리적으로 테이블을 키 조작 할 수는 없지만 특정 "키"열이있을 수 있습니다 (예 : sym, date, time, side 등등. 현재로드중인 청크의 "키"값이 이미 날짜 파티션에 표시되어 있는지 확인할 수 있습니다. 그렇게한다면, 다른 사람들은 지키면서 그 기록들을 버리십시오.

+0

1)입니다. 업로드 된 파일을 추적 할 kdb 고유의 방법이 있습니까 아니면 디스크의 일부 맞춤 표시기를 유지해야합니까? 내가 만든 후 모든 쓰기를 차단하는 kdb 권한 설정을 찾고있었습니다. 그것은 가장 안전한 해결책이 될 것입니다. 실수로 행을 복제하면 수행중인 데이터 분석에 재앙이 발생하고 여분의 행이 즉시 감지되지 않습니다. –

+0

이 정보는 사용자가 직접 보관해야합니다. 테이블의 각 레코드를 제공 한 파일을 나타내는 열을 포함 할 수 있습니다. 각 파일에 별도의 요일 데이터가 포함되어 있습니까? 아니면 날짜별로 여러 파일이 있습니까? 아니면 파일 당 날짜가 있습니까? – user1895961

+0

각 날짜마다 여러 개의 파일이 있습니다. 같은 파일을 두 번 저장하면 데이터가 왜곡되어 잘못된 결과가 나타납니다. 생성 후 파티션 디렉토리에 대한 Linux 파일 사용 권한을 가지고 게임하면 어떻게됩니까? –

관련 문제