1    :举例子说明HBase相对简单

1.1

1.2     回答

2    :设计HBase存储站内短信

2.1

2.2     回答

书面作业1:举例子说明HBase相对简单

请举出一例子,使用关系型数据库较难进行数据建模,而采用HBase则相对简单

1.2  回答

HBase的应用场景

l  存储大量的数据(100s TB级数据)

l  需要很高的写吞吐量

l  在大规模数据集中进行很好性能的随机访问(按列)

l  需要进行优雅的数据扩展

l  结构化和半结构化的数据

l  不需要全部的关系数据库特性,例如交叉列、交叉表、事务、连接等等

相关例子

l  淘宝的交易历史记录。数据量巨大无容置疑,面向普通用户的请求需即时响应;捕获增量数据、网络爬虫、广告效果和点击流等等。

l  动态扩展系统容量,例如:webPage DB。

书面作业2:设计HBase存储站内短信

用HBase存储社交网站站内短信信息,要求记录发送者、接受者、时间、内容,有关的查询是发送者可以列出他所有(或按时间段)发出的信息列表(按时间降序排列),接收者可以列出他所有(或按时间段)收到的信息列表(按时间降序排列)。请进行数据建模。

2.2  回答

两种方法:

方法一:建两个表,发送者表,接收者表

:发送者表:

行键:发送者id

列族和列:接收者,短信内容,时间戳(系统自动生成)

:接收者表:

行键:接收者id

列族和列:发送者,短信内容,时间戳(系统自动生成)

)查询是发送者可以列出他所有(或按时间段)发出的信息列表,通过在发送者表查询。

)查询是接收者可以列出他所有(或按时间段)收到的信息列表(按时间降序排列),通过接受者表查询,结合时间戳。

方法二:建一个表,使用复合行键

为发送,标识1为接收,

是,表示发送,复合行健为:标识-发送者id-接收者id。

是,表示接收,复合行健为:标识-接收者id- 发送者id。

这样设计的目的是方便使用hbase的范围查询功能,列族和列:短信内容,时间戳(系统自动生成)

)查询是发送者可以列出他所有(或按时间段)发出的信息列表,通过使用范围查询,查询“0-发送者id-%”的复合行健。

)查询是接收者可以列出他所有(或按时间段)收到的信息列表(按时间降序排列),查询“1-接收者id-%”的复合行健,并结合时间戳。

Hadoop第13周练习—HBase作业的更多相关文章

  1. Hadoop第12周练习—HBase安装部署

    1  1.1 1.2 :安装HBase 2.1 内容 运行环境说明 1.1 硬软件环境 线程,主频2.2G,6G内存 l  虚拟软件:VMware® Workstation 9.0.0 build-8 ...

  2. Hadoop第11周练习—HBase基础知识

    1 :数据即日志 内容 2 :HBase合并过程 内容 3 :HBase一致性 内容 书面作业1:数据即日志 内容 我们常说HBase是“数据即日志”的数据库,它是怎样修改和删除数据的?和Oracle ...

  3. 《OD学hadoop》第一周0625 LINUX作业一:Linux系统基本命令(一)

    1. 1) vim /etc/udev/rules.d/-persistent-net.rules vi /etc/sysconfig/network-scripts/ifcfg-eth0 TYPE= ...

  4. Hadoop第6周练习—在Eclipse中安装Hadoop插件及测试(Linux操作系统)

    1    运行环境说明 1.1     硬软件环境 1.2     机器网络环境 2    :安装Eclipse并测试 2.1     内容 2.2     实现过程 2.2.1   2.2.2   ...

  5. 201521123082 《Java程序设计》第13周学习总结

    201521123082 <Java程序设计>第13周学习总结 标签(空格分隔): java 1. 本周学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容. ...

  6. 201521123107 《Java程序设计》第13周学习总结

    第13周-网络 1.本周学习总结 2.书面作业 1. 网络基础 1.1 比较ping www.baidu.com与ping cec.jmu.edu.cn,分析返回结果有何不同?为什么会有这样的不同? ...

  7. 201521123067 《Java程序设计》第13周学习总结

    201521123067 <Java程序设计>第13周学习总结 1. 本周学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容. 2. 书面作业 Q1. 网络基 ...

  8. 201521123073 《Java程序设计》第13周学习总结

    1. 13周学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容. 2. 书面作业 1. 网络基础 1.1 比较ping www.baidu.com与ping cec.jm ...

  9. 大数据Hadoop核心架构HDFS+MapReduce+Hbase+Hive内部机理详解

    微信公众号[程序员江湖] 作者黄小斜,斜杠青年,某985硕士,阿里 Java 研发工程师,于 2018 年秋招拿到 BAT 头条.网易.滴滴等 8 个大厂 offer,目前致力于分享这几年的学习经验. ...

随机推荐

  1. SQL行转列和列转行

    行列互转,是一个经常遇到的需求.实现的方法,有case when方式和2005之后的内置pivot和unpivot方法来实现. 在读了技术内幕那一节后,虽说这些解决方案早就用过了,却没有系统性的认识和 ...

  2. mysqld.exe 占了400M内存的问题

    最近遇到了服务器总是停机的问题,虽然它自己只有2G的内存,不过实际部署的应用访问量非常小,也不至于2G就不够用,所以开始了给服务器瘦身的计划. 看着任务管理器里面的各个进程,发现吃内存最厉害的是mys ...

  3. StringBuffer&StringBuilder区别详解

    序言 StringBuffer与StringBuilder是java.lang包下被大家熟知的两个类.其异同为:一.长度都是可扩充的:二.StringBuffer是线程安全的,StringBuilde ...

  4. C/C++在Java项目、Android和Objective-C三大平台下实现混合编程

    Android和iOS开发都支持C++开发,可以一套代码多平台使用.同时C++难以反编译的特性也可以为Android开发带来代码的保密,另一native特性也可以提高代码的运行效率. 一.为什么使用C ...

  5. Simple-RTMP-Server 服务器搭建

    Simple-RTMP-Server 服务器搭建 1. 服务器镜像获取 github源码地址 git clone https://github.com/winlinvip/simple-rtmp-se ...

  6. 解放双手——Android自动化测试

    解放程序猿宝贵的右手(或者是左手) http://blog.csdn.net/eclipsexys/article/details/45622813 --Android自动化测试技巧 Google大神 ...

  7. IE6-IE11兼容性问题列表及解决办法总结

    相比IE6-IE9那版,主要添加IE10和IE11的新变化. 以下是目录及下载链接: 目录 概述 2 第一章:HTML 3 第一节:IE7-IE8更新 3 1. 如果缺少结束标记的 P 元素后跟 TA ...

  8. vs2010 使用vs online账号 需要安装的插件

    VS10SP1-KB2662296.exe http://pan.baidu.com/s/1qWDpEG0 vs2010 需要先升级到SP1

  9. ch4 MySQL 安全管理

    第 4 章 MySQL 安全管理 前言 对于任何一个企业来说,其数据库系统中所保存数据的安全性无疑是非常重要的,尤其是公司的有些商业数据,可能数据就是公司的根本,失去了数据的安全性,可能就是失去了公司 ...

  10. Kafka 分区备份实战

    1.概述 在 Kafka 集群中,我们可以对每个 Topic 进行一个或是多个分区,并为该 Topic 指定备份数.这部分元数据信息都是存放在 Zookeeper 上,我们可以使用 zkCli 客户端 ...