Hector动态创建keyspace与columnFamily

在项目中想通过程序判断cassandra中是否已经有相应的keyspace。如果没有就建一个。就像普通db的自动建表

代码片断如下:

private Cluster cluster;
    private Keyspace keyspace;

    public static final String KEYSPACE_NAME = "NOAH";

    public static final String COLUMN_FAMILY_NAME = "TimeData";
    
    private Logger logger= LoggerFactory.getLogger(this.getClass());


    public void init() {
        
        cluster = HFactory.getOrCreateCluster("Test Cluster", "localhost:9160");

        if (cluster.describeKeyspace(KEYSPACE_NAME) == null) {

            logger.info("create keyspace:"+KEYSPACE_NAME);

            BasicColumnFamilyDefinition columnFamilyDefinition = new BasicColumnFamilyDefinition();
            columnFamilyDefinition.setKeyspaceName(KEYSPACE_NAME);
            columnFamilyDefinition.setName(COLUMN_FAMILY_NAME);

            ColumnFamilyDefinition cfDefStandard = new ThriftCfDef(columnFamilyDefinition);


            KeyspaceDefinition keyspaceDefinition =
                    HFactory.createKeyspaceDefinition(KEYSPACE_NAME, SimpleStrategy.class.getName(),
                            1, Arrays.asList(cfDefStandard));

            cluster.addKeyspace(keyspaceDefinition);

        }
}

转载于:https://my.oschina.net/noahxiao/blog/72850

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值