配置文件
· log4j.properties: Log4j属性文件
· cassandra.yaml: 存储配置文件。更多信息可参考storage configuration setup。
以下为配置文件的目录结构:
META-INF/
security/
config/
cassandra/
cassandra.properties
security/
config/
cassandra/
cassandra.properties
属性文件的一个示例:
cassandra-cluster-name=TurmericCluster
cassandra-host-ip=127.0.0.1
cassandra-rpc-port=9160
cassandra-my-keyspace=My-keyspace
#column families
cassandra-foo-column-family=foo
cassandra-bar-column-family=bar
cassandra-host-ip=127.0.0.1
cassandra-rpc-port=9160
cassandra-my-keyspace=My-keyspace
#column families
cassandra-foo-column-family=foo
cassandra-bar-column-family=bar
使用方法
假定关系数据库MySQL中有一个名为Foo的表。则:
1. 创建BaseDao接口
public interface BaseDao {
public void delete(String key);
public Set getKeys();
public boolean containsKey(String key);
public void save(String key, FooPojoClass fooPojo);
public FooPojoClass find(String key);
}
public void delete(String key);
public Set getKeys();
public boolean containsKey(String key);
public void save(String key, FooPojoClass fooPojo);
public FooPojoClass find(String key);
}
2. 创建FooDao接口
public interface FooDao extends BaseDao {
}
}
3. 创建FooDao implementation
public class FooDaoImpl extends AbstractColumnFamilyDao
implements FooDao {
public FooDaoImpl(final String clusterName, final String host, final String keySpace, final String cf, final Class kTypeClass) {
super(clusterName, host, keySpace, kTypeClass, FooPojo.class, cf);
}
}
implements FooDao {
public FooDaoImpl(final String clusterName, final String host, final String keySpace, final String cf, final Class kTypeClass) {
super(clusterName, host, keySpace, kTypeClass, FooPojo.class, cf);
}
}
自定义的代码
//initiates an embedded Cassandra Service
CassandraManager.initialize();
//creates our Foo Column Family
FooDao fooDao = new FooDaoImpl("myCluster", "127.0.0.1", "myKeyspace",
"myColumnFamilyName", String.class);
CassandraManager.initialize();
//creates our Foo Column Family
FooDao fooDao = new FooDaoImpl("myCluster", "127.0.0.1", "myKeyspace",
"myColumnFamilyName", String.class);
至此,已经成功将一个关系表转换为一个Cassandra列族!
用户可以参考UT类来查看它们具体是如何实现的。