分布式数据库HBase PPT课件单元8 HBase综合实战.pptxVIP

分布式数据库HBase PPT课件单元8 HBase综合实战.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

单元8HBase综合实战

18.2商品订单表设计目录8.1MySQL数据迁移到HBase2

8.1MySQL数据迁移到HBase本案例的数据以学生课程成绩为例,在MySQL数据库中将实体和实体间的关系都存储在数据库中,本例中的实体有学生和课程,分别对应学生信息表studentInfo和课程信息表courseInfo,实体之间的关系为选课及成绩,对应成绩表gradeInfo,这三张表的结构如图8-1所示。

8.1MySQL数据迁移到HBaseHBase表将MySQL三张表的数据聚合到同一张表中,将studentInfo表映射到HBase的StuInfo列族,将gradeInfo和courseInfo表信息映射到Grades列族中,使用HBase列族形式将数据整合到一起,用户查询起来会更加方便,同时对出现大量空值的场景,可以节约大量的存储空间。步骤1:创建coursesel.sql文件。2.登陆MySQL,创建数据库,如下。createdatabasecoursesel;

8.1MySQL数据迁移到HBase步骤2:通过JavaAPI读取MySQL数据中学生信息表studentInfo内容1.注册数据库的驱动2.打开数据库链接。3.获取学生表studentinfo基本信息。4.获取课程信息。

8.1MySQL数据迁移到HBase步骤3:将MySQL数据导入HBase表。1.创建HBase表,通过JavaAPI连接HBase,创建表courseGrade2将MySQL数据导入HBase的courseGrade表向列族中插入数据。连接MySQL数据库读取结果集,将查询到的studentinfo表的学号信息作为rowKey,表中的姓名、年龄、性别作为列族StuInfo的列。通过MySQL连接查询语句,指定查询条件为学号,查询到对应的课程名和成绩作为列族Grades的列名和对应的单元格值。执行完成后,执行hbaseshellhbase:003:0scancourseGrade

8.1MySQL数据迁移到HBase步骤3:将MySQL数据导入HBase表。3查询数据可获取某个学生所选课程的成绩。以下示例表示获取学号为1的学生的所有课程信息。执行完成后,执行结果如图所示。

8.1MySQL数据迁移到HBase步骤3:将MySQL数据导入HBase表。1.创建HBase表,通过JavaAPI连接HBase,创建表courseGrade2将MySQL数据导入HBase的courseGrade表向列族中插入数据。连接MySQL数据库读取结果集,将查询到的studentinfo表的学号信息作为rowKey,表中的姓名、年龄、性别作为列族StuInfo的列。通过MySQL连接查询语句,指定查询条件为学号,查询到对应的课程名和成绩作为列族Grades的列名和对应的单元格值。执行完成后,执行hbaseshellhbase:003:0scancourseGrade

8.2商品订单表设计8.2.1生成商品订单表数据步骤1:生产电商订单数据,这里通过python脚本生成数据。步骤2:将python脚本上传到集群系统/opt目录下,通过pyhon命名执行,具体命令如下。其中/opt/data.py为脚本,/opt/datas/goods.log为产生文件,1000为goods.log产生的文本记录数。python/opt/data.py/opt/datas/goods.log1000步骤3:将产生的goods.log分别传输到本地文件E:\\data目录下以及上传HDFS文件系统。Hdfsdfs-putgoods.log/hbase/input步骤4:通过HBaseshell创建表goods

8.2商品订单表设计8.2.2HBase的JavaAPI方式写入HBase步骤1:新建Maven工程,步骤参考第五章内容。新建PutGoods类,在PutGoods中设置字符数组形式,将除rowkey外其他的字段表示为“列族:列名”形式。通过BufferedReader对象读取文件每一行数据,调用Put对象将读取到的一个字段依次放入到HBase表。步骤2:此时通过hbaseshell计算goods的行数,结果如下所示。通过统计发现python脚本生成的1000条记录全部加载到HBase表中。hbase:005:0countgoodsCurrentcount:1000,row:9991714394607

文档评论(0)

allen734901 + 关注
实名认证
文档贡献者

副教授持证人

知识共享

领域认证该用户于2024年11月14日上传了副教授

1亿VIP精品文档

相关文档