2014-07-14 2 views
1

CQL을 사용하여 셀을 추가 할 때 왜 Cassandra가 두 개의 열을 생성하는지 궁금합니다. CQLSH에 쿼리CQL은 값 당 두 개의 열을 생성합니까?

DROP KEYSPACE IF EXISTS tsdb; 

CREATE KEYSPACE tsdb WITH replication = 
{ 
    'class': 'SimpleStrategy', 
    'replication_factor' : 3 
}; 

USE tsdb; 

CREATE TABLE datapoints (
    tsid int, 
    key text, 
    value blob, 
    PRIMARY KEY (tsid, key) 
); 

INSERT INTO datapoints (tsid, key, value) 
VALUES (
    1, 
    'foo', 
    0x
); 

INSERT INTO datapoints (tsid, key, value) 
VALUES (
    2, 
    'foo', 
    0x500000 
); 

좋아 보인다 :

내 스키마입니다

cqlsh:tsdb> SELECT * FROM datapoints; 

tsid | key | value 
------+-----+---------- 
    1 | foo | 0x
    2 | foo | 0x500000 

(2 rows) 

하지만 카산드라 - CLI를 통해 행을 나열 할 때 나는 한 줄에 두 개의 열이 얻을 :

[[email protected]] list datapoints; 
Using default limit of 100 
Using default cell limit of 100 
------------------- 
RowKey: 1 
=> (name=foo:, value=, timestamp=1405353603216000) 
=> (name=foo:value, value=, timestamp=1405353603216000) 
------------------- 
RowKey: 2 
=> (name=foo:, value=, timestamp=1405353603220000) 
=> (name=foo:value, value=500000, timestamp=1405353603220000) 

2 Rows Returned. 
Elapsed time: 6.9 msec(s). 

다음과 같이 표시 될 것으로 예상됩니다.

------------------- 
RowKey: 1 
=> (name=foo:value, value=, timestamp=1405353603216000) 
------------------- 
RowKey: 2 
=> (name=foo:value, value=500000, timestamp=1405353603220000) 

2 Rows Returned. 

왜 CQL은 이름이 "foo :"이고 값이 비어있는 열을 만듭니 까? 이것들은 무엇에 좋은가요?

감사합니다. 후드 아래 CQL 매핑의 깊이 설명에 대한 존 베리맨에

최저

, 말테는

답변

관련 문제