分享

还是关于hbase

yuwenge 发表于 2017-9-4 22:35:06

今天有点晚了,明天再帮你看下。
回复

使用道具 举报

remarkzhao 发表于 2017-9-5 08:37:18
yuwenge 发表于 2017-9-4 22:35
今天有点晚了,明天再帮你看下。

多谢了。昨儿睡的早。。还有大神有自己的看法嘛??
回复

使用道具 举报

yuwenge 发表于 2017-9-5 13:19:11
remarkzhao 发表于 2017-9-5 08:37
多谢了。昨儿睡的早。。还有大神有自己的看法嘛??

def createHTable(tablename: String,family: String,jobConf: JobConf): Unit={

    val conn = ConnectionFactory.createConnection(jobConf)
    try {
      val admin = conn.getAdmin
      val tableName = TableName.valueOf(tablename)
      if (!admin.tableExists(tableName)) {
        print("Table Not Exists! Create Table")
        val tableDesc = new HTableDescriptor(tableName)
        val hColumnDescriptor = new HColumnDescriptor(family.getBytes())
        hColumnDescriptor.setMaxVersions(100)
        tableDesc.addFamily(hColumnDescriptor)
        admin.createTable(tableDesc)
        print("New Table Created Successfully!")
      } else {
        print("Table  Exists!  Drop the Table and Create!")
        val tableDesc = new HTableDescriptor(tableName)
        admin.disableTable(tableName)
        admin.deleteTable(tableName)
        tableDesc.addFamily(new HColumnDescriptor(family.getBytes()).setMaxVersions(100))
        admin.createTable(tableDesc)
        print("New Table Created!")

      }
    }finally {
      conn.close()
    }
  }
family.getBytes()).setMaxVersions(100)
这个应该是列

回复

使用道具 举报

remarkzhao 发表于 2017-9-5 13:53:25
yuwenge 发表于 2017-9-5 13:19
def createHTable(tablename: String,family: String,jobConf: JobConf): Unit={

    val conn = Conn ...

http://blog.csdn.net/lifuxiangcaohui/article/details/39997205

这个就是列族啊。 不过你给了我一个提醒。。版本是对什么而言,对列还是列族?
回复

使用道具 举报

einhep 发表于 2017-9-5 15:17:48
remarkzhao 发表于 2017-9-5 13:53
http://blog.csdn.net/lifuxiangcaohui/article/details/39997205

这个就是列族啊。 不过你给了我一个 ...

列簇的,不过应该不需要转换二进制,直接字符串即可,另外setMaxVersions这个100个,也有点多啊。可以设置为10
tableDesc.addFamily(new HColumnDescriptor(family.getBytes()).setMaxVersions(100))


回复

使用道具 举报

remarkzhao 发表于 2017-9-5 15:21:47
einhep 发表于 2017-9-5 15:17
列簇的,不过应该不需要转换二进制,直接字符串即可,另外setMaxVersions这个100个,也有点多啊。可以设 ...

恩。这个100跟10到问题不大。我刚才用java构造了一个数据 写入 ,没有问题。

for (int i = 0; i < 10; i++) {
    Put put = new Put("001".getBytes());

    put.add("cf1".getBytes(), "colum1".getBytes(), "value1".getBytes());

    HTable table = new HTable(configuration, tablename);
    table.put(put);}
这样插入是没有问题的。put 一条一条来。
回复

使用道具 举报

12
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条