• 熟悉常用的HBase操作


    实验环境:

    1、 操作系统:Linux(建议Ubuntu16.04);

    2、 Hadoop版本:2.7.1

    3、 JDK版本:1.7或以上版本;

    4、 Java IDEEclipse

    实验目的:

    1、 理解HBaseHadoop体系结构中的角色;

    2、 熟练使用HBase操作常用的Shell命令;

    3、 熟悉HBase操作常用的Java API

     

    实验步骤:

    (一)编程实现以下指定功能,并用Hadoop提供的HBase Shell命令完成相同任务:

    列出HBase所有的表的相关信息,例如表名;

     

    在终端打印出指定的表的所有记录数据;

     

    向已经创建好的表添加和删除指定的列族或列;

     

     

     

     

    清空指定的表的所有记录数据;

     

    统计表的行数。

     

    (二)HBase数据库操作

    1. 现有以下关系型数据库中的表和数据,要求将其转换为适合于HBase存储的表并插入数据:

    学生表(Student

    学号(S_No

    姓名(S_Name

    性别(S_Sex

    年龄(S_Age

    2015001

    Zhangsan

    male

    23

    2015003

    Mary

    female

    22

    2015003

    Lisi

    male

    24

     

    课程表(Course

    课程号(C_No

    课程名(C_Name

    学分(C_Credit

    123001

    Math

    2.0

    123002

    Computer Science

    5.0

    123003

    English

    3.0

     

    选课表(SC

    学号(SC_Sno

    课程号(SC_Cno

    成绩(SC_Score

    2015001

    123001

    86

    2015001

    123003

    69

    2015002

    123002

    77

    2015002

    123003

    99

    2015003

    123001

    98

    2015003

    123002

    95

     

     

     

     

     

     

     

    2. 请编程实现以下功能:

    1createTable(String tableName, String[] fields)

    创建表,参数tableName为表的名称,字符串数组fields为存储记录各个字段名称的数组。要求当HBase已经存在名为tableName的表的时候,先删除原有的表,然后再创建新的表。

    2addRecord(String tableName, String row, String[] fields, String[] values)

    向表tableName、行row(用S_Name表示)和字符串数组fields指定的单元格中添加对应的数据values。其中,fields中每个元素如果对应的列族下还有相应的列限定符的话,用“columnFamily:column”表示。例如,同时向“Math”“Computer Science”“English”三列添加成绩时,字符串数组fields{“Score:Math”, ”Score:Computer Science”, ”Score:English”},数组values存储这三门课的成绩。

    3scanColumn(String tableName, String column)

    浏览表tableName某一列的数据,如果某一行记录中该列数据不存在,则返回null。要求当参数column为某一列族名称时,如果底下有若干个列限定符,则要列出每个列限定符代表的列的数据;当参数column为某一列具体名称(例如“Score:Math”)时,只需要列出该列的数据。

    4modifyData(String tableName, String row, String column)

    修改表tableName,行row(可以用学生姓名S_Name表示),列column指定的单元格的数据。

    5deleteRow(String tableName, String row)

    删除表tableNamerow指定的行的记录。

     

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    白书数据结构基础总结
    UVA 10557 XYZZY 结题报告
    UVA 10047 The Monocycle 解题报告
    二叉查找树及其C语言实现
    堆排序及其c语言实现
    约瑟夫环问题小结
    KMP算法总结
    UVA 10129 Play on Words 解题报告
    深入浅出Node.js (8)
    洛谷 P1757 通天之分组背包
  • 原文地址:https://www.cnblogs.com/xiangyu721/p/14068088.html
Copyright © 2020-2023  润新知