문제

heh,

를 사용하고 있습니다

cf.insert(uuid.uuid1().bytes_le, {'column1': 'val1'}) (pycassa)

카세이드를위한 시간을 생성하지만 오류를 얻는

InvalidRequestException: 
InvalidRequestException(why='UUIDs must be exactly 16 bytes')
.

에서 작동하지 않습니다.
uuid.uuid1()
uuid.uuid1().bytes
str(uuid.uuid1())
.

.

comparewith="timeuidtype"플래그와 함께 사용할 유효한 시간을 만들 수있는 가장 좋은 방법은 무엇입니까?

감사합니다,


헨릭

도움이 되었습니까?

해결책

열 패밀리 스키마가 UUID를 키로 허용하도록해야합니다.코드는 Cassandra-CLI를 사용하여 생성 된 열 패밀리와 함께 작동합니다.

create column family MyColumnFamily
  with column_type = 'Standard'
  and comparator = 'AsciiType'
  and default_validation_class = 'BytesType'
  and key_validation_class = 'TimeUUIDType';
.

이 CF에 값을 추가하려면 다음을 수행하십시오.

import pycassa
pool = pycassa.ConnectionPool('Keyspace1')
cf = pycassa.ColumnFamily(pool, 'MyColumnFamily')
cf.insert(uuid.uuid1(), {'column1': 'val1'})
.

다른 팁

은 uuid를 행 키와 열 이름이 아닌 행 키로 사용하는 것처럼 보입니다.

' compare_with : timeuuidtype 속성은 timeUIDType, 즉 는 Cassandra를 알려줍니다.

열을 정렬하는 방법 을 정렬하는 방법

높은 수준의 파이썬 클라이언트를 사용하여 고려해 왔습니까?예를 들어, Tradedgy , 게으른 소년 , vestrus 또는 pycassa

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top