파티션 키에서 하나의 열을 제거하여 테이블 중 하나의 파티션 키를 변경합니다. 이 테이블의 모든 레코드에는 TTL도 있습니다. 이제 TTL을 사용하여 해당 테이블의 데이터를 보존하려고합니다. 어떻게 할 수 있습니까?
원하는 스키마로 새 테이블을 만든 다음 이전 테이블에서 새 테이블로 데이터를 복사 할 수 있습니다. 그러나이 과정에서 TTL이 느슨해집니다.
추가 정보-이 Cassandra 테이블은 Kafka에서 이벤트를 읽는 Apache Storm 애플리케이션으로 채워집니다. Kafka 메시지를 다시 수화 할 수 있지만 Kafka에는 처리하고 싶지 않은 원치 않는 메시지가 있습니다.
참고-TTL은 절대 변경되지 않는 날짜 열 값을 기준으로 결정됩니다. 이 때문에 TTL은 항상 모든 열에서 동일합니다.
특정 구현으로 이동하기 전에 TTL이 행의 모든 셀뿐만 아니라 개별 셀에도 존재할 수 있음을 이해하는 것이 중요합니다. 그리고 INSERT 또는 UPDATE 작업을 수행 할 때 쿼리에 지정된 모든 열에 대해 하나의 TTL 값만 적용 할 수 있으므로 TTL이 다른 열이 2 개있는 경우 각각에 대해 2 개의 쿼리를 수행해야합니다. 다른 TTL이있는 열.
툴링과 관련하여 여기에 2 가지 더 많거나 적은 바로 사용 가능한 옵션이 있습니다.
dsbulk unload -h localhost -query \
"SELECT id, petal_length, WRITETIME(petal_length) AS w_petal_length, TTL(petal_length) AS l_petal_length, .... FROM dsbulkblog.iris_with_id" \
-url /tmp/dsbulkblog/migrate
dsbulk load -h localhost -query \
"BEGIN BATCH INSERT INTO dsbulkblog.iris_with_id(id, petal_length) VALUES (:id, :petal_length) USING TIMESTAMP :w_petal_length AND TTL :l_petal_length; ... APPLY BATCH;" \
-url /tmp/dsbulkblog/migrate --batch.mode DISABLED
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다