준비물 : cassandra와 통신하기 위한 라이브러리, 그 라이브러리가 필요로 하는 라이브러리들
상황 :
Hotelier 라는 키스페이스에 Hotel 이라는 칼럼패밀리가 있다.
이 칼럼패밀리에 아래 데이터를 "AZC_043"키로 입력한다.
name : Cambria Suites Hayden
phone : 480-444-4444
address : 400 N. Hayden
city : Scottsdale
state : AZ
zip : 85255
0. 위 준비물들(라이브러리) 들의 클래스 패스를 추가한다.
1. 카산드라 서버에 접속하기
※ cassandra.yaml 파일 내부에 있는 rpc_address: localhost 를 rpc_address: 192.168.0.11 와 같이 서버 아이피로 변경해준다.
TFramedTransport tf = new TFramedTransport(new TSocket("192.168.0.11", 9160)); TProtocol proto = new TBinaryProtocol(tf); Cassandra.Client client = new Cassandra.Client(proto); tr.open(); client.set_keyspace("Hotelier" /*KeySpace*/);
서버와 연결된 Cassandra Client 가 생성된다.
2. ColumnParent 정의
ColumnParent parent = new ColumnParent("Hotel"/*Column Family*/);
3. Row Key 값, timestamp 정의
ByteBuffer key = ByteBuffer.wrap("AZC_043".getBytes("UTF-8")); Long timestamp = System.currentTimeMillis();
4. Column 생성
Column nameCol = createColumn("name".getBytes("UTF-8"), "Cambria Suites Hayden".getBytes("UTF-8"), timestamp); Column phoneCol = createColumn("phone".getBytes("UTF-8"), "480-444-4444".getBytes("UTF-8"), timestamp); Column addressCol = createColumn("address".getBytes("UTF-8"), "400 N. Hayden".getBytes("UTF-8"), timestamp); Column cityCol = createColumn("city".getBytes("UTF-8"), "Scottsdale".getBytes("UTF-8"), timestamp); Column stateCol = createColumn("state".getBytes("UTF-8"), "AZ".getBytes("UTF-8"), timestamp); Column zipCol = createColumn("zip".getBytes("UTF-8"), "85255".getBytes("UTF-8"), timestamp);
5. 입력
client.insert(key, parent, nameCol, ConsistencyLevel.ONE); client.insert(key, parent, phoneCol, ConsistencyLevel.ONE); client.insert(key, parent, addressCol, ConsistencyLevel.ONE); client.insert(key, parent, cityCol, ConsistencyLevel.ONE); client.insert(key, parent, stateCol, ConsistencyLevel.ONE); client.insert(key, parent, zipCol, ConsistencyLevel.ONE);
반응형
'Cassandra' 카테고리의 다른 글
Cassandra - Java를 이용하여 데이터 검색 (0) | 2013.04.06 |
---|---|
Cassandra - Java를 이용하여 데이터 쓰기 (super column family) (0) | 2013.04.05 |
Cassandra - ConsistencyLevel 정리 (0) | 2013.04.04 |
Cassandra - thrift 인터페이스 jar 만들기 (0) | 2013.03.29 |
Cassandra - thrift 인터페이스 생성 (0) | 2013.03.28 |