查看: 346|回复: 0
打印 上一主题 下一主题

[大数据] HBase2.2的Java API操作

[复制链接]
  • TA的每日心情
    开心
    2017-7-5 20:14
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    1698

    主题

    1707

    帖子

    7350

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    7350
    跳转到指定楼层
    楼主
    发表于 2019-7-30 19:36:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    一 引入依赖


    1. ??org.apache.hadoop
    2. ??hadoop-common
    3. ??3.2.0



    4. ??org.apache.hadoop
    5. ??hadoop-client
    6. ??3.2.0



    7. ??org.apache.hadoop
    8. ??hadoop-hdfs
    9. ??3.2.0




    10. ??org.apache.hbase
    11. ??hbase-client
    12. ??2.2.0



    13. ??org.apache.hbase
    14. ??hbase
    15. ??2.2.0
    16. ??pom



    17. ??org.apache.hbase
    18. ??hbase-common
    19. ??2.2.0
    复制代码

    二 resources文件夹下添加配置文件
    core-site.xml从hadoop的安装目录etc/hadoop中复制过来
    hbase-site.xml从hbase的安装目录conf文件夹中复制过来
    core-site.xml








    1. ??fs.checkpoint.period
    2. ??3600


    3. ??fs.checkpoint.size
    4. ??67108864


    5. ??fs.defaultFS
    6. ??hdfs://master:9000


    7. ??hadoop.tmp.dir
    8. ??file:/data/hdfs/tmp


    9. ??hadoop.http.staticuser.user
    10. ??root

    复制代码
    hbase-site.xml





    1. ? ?? ???hbase.rootdir
    2. ? ?? ???hdfs://master:9000/hbase


    3. ? ?? ???hbase.cluster.distributed
    4. ? ?? ???true


    5. ? ?? ???hbase.master
    6. ? ?? ???master:60000


    7. ? ?? ???hbase.zookeeper.quorum
    8. ? ?? ???master,slave1,slave2


    9. ? ?? ???hbase.unsafe.stream.capability.enforce
    10. ? ?? ???false

    复制代码

    三 Java代码实现如下
    1. import org.apache.hadoop.conf.Configuration;
    2. import org.apache.hadoop.fs.Path;
    3. import org.apache.hadoop.hbase.HBaseConfiguration;
    4. import org.apache.hadoop.hbase.TableName;
    5. import org.apache.hadoop.hbase.client.*;

    6. public class Test {
    7. ? ? public static void main(String[] args) throws Exception{
    8. ? ?? ???Configuration conf = HBaseConfiguration.create();
    9. ? ?? ???conf.addResource(new Path(ClassLoader.getSystemResource("hbase-site.xml").toURI()));
    10. ? ?? ???conf.addResource(new Path(ClassLoader.getSystemResource("core-site.xml").toURI()));
    11. ? ?? ???Connection cn = ConnectionFactory.createConnection(conf);
    12. ? ?? ???Admin admin = cn.getAdmin();

    13. ? ?? ???String columnFamily= "personal data";
    14. ? ?? ???String columnQualifier = "name";
    15. ? ?? ???String row = "1";

    16. ? ?? ???//Create
    17. ? ?? ???TableName tableName = TableName.valueOf("emp");
    18. ? ?? ???ColumnFamilyDescriptor family = ColumnFamilyDescriptorBuilder.of(columnFamily);
    19. ? ?? ???TableDescriptor desc = TableDescriptorBuilder.newBuilder(tableName).setColumnFamily(family).build();
    20. ? ?? ???admin.createTable(desc);
    21. ? ?? ???System.out.println("Create done");

    22. ? ?? ???//Insert
    23. ? ?? ???Table table = cn.getTable(tableName);
    24. ? ?? ???Put put = new Put(row.getBytes());
    25. ? ?? ???put.addColumn(columnFamily.getBytes(), columnQualifier.getBytes(), "zydgbbs".getBytes());
    26. ? ?? ???table.put(put);
    27. ? ?? ???table.close();
    28. ? ?? ???System.out.println("Insert done");

    29. ? ?? ???//Get
    30. ? ?? ???Get get = new Get(row.getBytes());
    31. ? ?? ???get.addColumn(columnFamily.getBytes(), columnQualifier.getBytes());
    32. ? ?? ???Result result = table.get(get);
    33. ? ?? ???table.close();
    34. ? ?? ???System.out.println("Get result: " + new String(result.getValue(columnFamily.getBytes(), columnQualifier.getBytes())));

    35. ? ?? ???//Delete table
    36. ? ?? ???admin.disableTable(tableName);
    37. ? ?? ???admin.deleteTable(tableName);
    38. ? ?? ???System.out.println("Delete table");

    39. ? ? }
    40. }
    复制代码

    资源帝国 - 论坛版权1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关
    2、本站所有主题由该帖子作者发表,该帖子作者与资源帝国享有帖子相关版权
    3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和资源帝国的同意
    4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
    5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
    6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
    7、资源帝国管理员和版主有权不事先通知发贴者而删除本文

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

    本版积分规则

    QQ|Archiver|手机版|小黑屋|资源帝国 ( 皖ICP备14009953号 )?

    GMT+8, 2019-8-11 01:52 , Processed in 0.054512 second(s), 27 queries .

    Powered by Discuz! X3.2

    ? 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表