大数据实验(HBase基础操作)

发布时间 2023-11-23 20:11:00作者: 201812

(一)Hadoop提供的HBase Shell命令完成任务

1)列出hbase所有表信息

 

 2)打印表的所有数据

3)添加、删除指定列族或列

4)清空指定表的数据(先禁用表在清空)

5)统计行数

 

(二)HBase数据库操作

1.根据给出的表数据在HBase建表并存入数据

 数据比较多可以先在txt文件里面写好全部的语句然后复制粘贴到hbase执行

 

Student学生表

 

 course表:

 

 sc选课表:

 

 2.编程实现

编程实现参考:

大数据之Hadoop学习(十)HBase Java API编程_addrecord(string tablename, string row, string[] f-CSDN博客

 

准备工作:

 先创建一个maven项目,在pom.xml导入依赖

  <repositories><!-- 代码库 -->
    <repository>
      <id>aliyun</id>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>false</enabled>
        <updatePolicy>never</updatePolicy>
      </snapshots>
    </repository>
  </repositories>

  <dependencies>
    <!-- HBase的Java客户端 -->
    <dependency>
      <groupId>org.apache.hbase</groupId>
      <artifactId>hbase-client</artifactId>
      <version>2.1.0</version>
    </dependency>
    <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
      <version>2.6</version>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.testng</groupId>
      <artifactId>testng</artifactId>
      <version>6.14.3</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.1</version>
        <configuration>
          <target>1.8</target>
          <source>1.8</source>
        </configuration>
      </plugin>
    </plugins>
  </build>

 2.将虚拟机的hbase-site.xml、core-site.xml、log4j.properties复制到resource目录中

从Linux中下载:sz /export/server/hbase-2.1.0/conf/hbase-site.xml

从Linux中下载:sz /export/server/hadoop-2.7.5/etc/hadoop/core-site.xml

编程实现

因为我导入了hbase-site.xml、core-site.xml、log4j.properties到resource目录,所以在连接上我可以直接这样子写

    public static void init() {
        Configuration configuration = HBaseConfiguration.create();
        try{
            connection = ConnectionFactory.createConnection(configuration);
            admin = connection.getAdmin();
        }catch (Exception ex){
            ex.printStackTrace();
        }
    }

    public static void close()  {
        try{
            if(admin!=null){
                admin.close();
            }
            if(connection!=null){
                connection.close();
            }
        }catch (Exception ex){
            ex.printStackTrace();
        }
    }

连接成功,HBase数据表(操作后)