- 1、本文档共53页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章-Hadoop应用与实践分析
* 实验4 单表关联 设计思路: 把左表的parent列和右表的child列连接起来(这里的左表和右表是同一张表)。在连接得到的新表中把连接的两列(左表的parent列和右表的child列)删除就可以得到需要的结果,即grandchild-grandparent关系。 由于在MapReduce的工作过程中会将相同key值的value合并,因此,如果把Map阶段输出结果中的key设置成需要连接的列,那么列相等的value就会合并连接在一起。 * 实验5 多表关联 问题描述:和单表关联类似,也是对原始数据进行挖掘,找出用户所关心的数据,不同的是原始数据存放在多张表中。 例如:输入两个文件,一个文件表示工厂信息,文件中每行一个数据,内容包括工厂名称和工厂所在城市的编号;另一个文件表示地址信息,每行一个数据,内容包括城市编号和城市名称。 要求从输入数据中找出工厂和其所在城市名称之间的对应关系,输出文件中每一行数据包括两列,第一列是工厂名称,第二列是工厂所在城市的名称。 * 实验5 多表关联 设计思路: Map阶段对读入的每行数据进行分割,如果这行数据属于工厂信息表,那么把工厂所在城市的编号作为key,把工厂名称和标志参数1作为value,形成左表并输出;如果这行数据属于地址信息表,那么把工厂所在城市的编号作为key,把城市名称和标志参数2作为value,形成右表并输出。 在Shuffle阶段,把相同key值的value进行合并排序,每个key所对应的value列表中就包含了同一个城市编号所对应的工厂名和城市名。 在Reduce阶段,对每个key所对应的value列表进行解析,将左表中的工厂名和右表中的城市名分别放在两个数组中,并对两个数组计算笛卡尔积,输出结果。 * 实验6大矩阵乘法 问题描述:大矩阵乘法的目标任务是,给定 M*N矩阵A和N*L矩阵B,将A和B两个矩阵相乘得到M*L新矩阵C。 设计思路: 采用稀疏矩阵的存储方式,只存储矩阵中那些非零的数值,存储的数据包括矩阵元素的行号、列号和值。 在Map阶段,对于矩阵A的元素输出l个key, value对,其中key表示的是该元素参与计算得到的C矩阵元素的行、列号,value表示的是该元素所在的矩阵A、在矩阵中的列号和值。对于矩阵B的元素,则输出m个key, value对,其中key表示的是该元素参与计算得到的C矩阵元素的行、列号,value表示的是该元素所在的矩阵B、在矩阵中的行号和值。 把key相同的value合并后,形成key, list of value对,由key可以确定对哪一个C矩阵元素进行计算,由 value列表中的value可知参与计算的元素有哪些。 在Reduce阶段,对value列表分析得到参与计算的A、B矩阵的元素,对A矩阵中列号与B矩阵中行号相同的元素相乘求和,得到C矩阵元素。 * 7.3 Hbase的基本操作 * Hbase安装部署-伪分布模式 把hbase-0.94.7-security.tar.gz复制到/usr/local。 使用下面的命令解压hbase-0.94.7-security.tar.gz,并重命名为hbase。 cd /usr/local tar -zxvf hbase-0.94.7-security.tar.gz mv hbase-0.94.7-security hbase 使用“vi /etc/profile”命令修改/etc/profile文件,在文件中增加以下环境变量配置: export HBASE_HOME=/usr/local/hbase export PATH=.:$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH:$HBASE_HOME/bin 保存退出,使用命令“source /etc/profile”使配置生效。 * Hbase安装部署-伪分布模式 修改$HBASE_HOME/conf/hbase-env.sh文件,在文件中设置JAVA_HOME为JDK安装目录,并指定采用HBase内嵌的ZooKeeper管理集群,配置内容如下: export JAVA_HOME=/usr/local/jdk export HBASE_MANAGES_ZK=true 修改$HBASE_HOME/conf/hbase-site.xml文件,配置以下内容: hbase.rootdir是文件目录(它的主机和端口号与的主机和端口号要一致。) HBase的运行模式,false表示单机模式,true表示分布式模式 ZooKeeper集群的地址列表,在伪分布模式下只有一台机器 指定Hlog和Hfile的副本数(由于伪分布模式下DataNode只有一台,所以参数值设为1) * Hbase安装部署-
文档评论(0)