大数据技术实践实验报告Word下载.docx

上传人:b****3 文档编号:7815117 上传时间:2023-05-09 格式:DOCX 页数:62 大小:6.78MB
下载 相关 举报
大数据技术实践实验报告Word下载.docx_第1页
第1页 / 共62页
大数据技术实践实验报告Word下载.docx_第2页
第2页 / 共62页
大数据技术实践实验报告Word下载.docx_第3页
第3页 / 共62页
大数据技术实践实验报告Word下载.docx_第4页
第4页 / 共62页
大数据技术实践实验报告Word下载.docx_第5页
第5页 / 共62页
大数据技术实践实验报告Word下载.docx_第6页
第6页 / 共62页
大数据技术实践实验报告Word下载.docx_第7页
第7页 / 共62页
大数据技术实践实验报告Word下载.docx_第8页
第8页 / 共62页
大数据技术实践实验报告Word下载.docx_第9页
第9页 / 共62页
大数据技术实践实验报告Word下载.docx_第10页
第10页 / 共62页
大数据技术实践实验报告Word下载.docx_第11页
第11页 / 共62页
大数据技术实践实验报告Word下载.docx_第12页
第12页 / 共62页
大数据技术实践实验报告Word下载.docx_第13页
第13页 / 共62页
大数据技术实践实验报告Word下载.docx_第14页
第14页 / 共62页
大数据技术实践实验报告Word下载.docx_第15页
第15页 / 共62页
大数据技术实践实验报告Word下载.docx_第16页
第16页 / 共62页
大数据技术实践实验报告Word下载.docx_第17页
第17页 / 共62页
大数据技术实践实验报告Word下载.docx_第18页
第18页 / 共62页
大数据技术实践实验报告Word下载.docx_第19页
第19页 / 共62页
大数据技术实践实验报告Word下载.docx_第20页
第20页 / 共62页
亲,该文档总共62页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

大数据技术实践实验报告Word下载.docx

《大数据技术实践实验报告Word下载.docx》由会员分享,可在线阅读,更多相关《大数据技术实践实验报告Word下载.docx(62页珍藏版)》请在冰点文库上搜索。

大数据技术实践实验报告Word下载.docx

实验步骤:

开发工具以及Hadoop默认已经安装完毕,安装在/apps/目录下。

2.在Linux本地创建/data/hadoop3目录,用于存放所需文件。

切换目录到/data/hadoop3目录下,并使用wget命令,下载所需的插件。

2.将插件,从/data/hadoop3目录下,拷贝到/apps/eclipse/plugins的插件目录下。

3.进入ubuntu图形界面,双击eclipse图标,启动eclipse。

5.在Eclipse窗口界面,依次点击Window=>

OpenPerspective=>

Other。

弹出一个窗口。

选择Map/Reduce,并点击OK,可以看到窗口中,有三个变化。

(左侧项目浏览器、右上角操作布局切换、面板窗口)

如果在windows下,则需要手动调出面板窗口Map/ReduceLocations面板,操作为,点击window=>

showview=>

在弹出的窗口中,选择Map/ReduceLocations选项,并点击OK。

这样便可以调出视图窗口Map/ReduceLocation。

6.添加Hadoop配置,连接Hadoop集群。

在这里添加Hadoop相关配置。

Locationname,是为此配置起的一个名字。

DFSMaster,是连接HDFS的主机名和端口号。

点击Finish保存配置。

7.另外还需保证Hadoop中的HDFS相关进程已经启动。

在终端命令行输入jps查看进程状态。

viewplain 

copy

1.jps 

若不存在hdfs相关的进程,如Namenode、Datanode、secondarynamenode,则需要先切换到HADOOP_HOME下的sbin目录,启动hadoop。

1.cd 

/apps/hadoop/sbin 

2../ 

8.展开左侧项目浏览视图,可以看到HDFS目录结构。

9.上图发现HDFS上,没有存放任何目录。

那下面来创建一个目录,检测插件是否可用。

右键myhadoop下的文件夹,在弹出的菜单中,点击Createnewdirectory。

输入目录名称,点击OK则创建目录成功。

右键文件夹,点击Refresh,可用刷新HDFS目录。

到此Hadoop开发插件已经安装完毕!

3.MapReduce代码实现

1.切换目录到/apps/hadoop/sbin下,启动hadoop。

2.在linux上,创建一个目录/data/mapreduce1。

1.mkdir 

-p 

/data/mapreduce1 

3.切换到/data/mapreduce1目录下,使用wget命令从网址,下载文本文件buyer_favorite1。

2.wget 

依然在/data/mapreduce1目录下,使用wget命令,从

,下载项目用到的依赖包。

1.wget 

将解压到当前目录下。

1.tar 

-xzvf 

4.将linux本地/data/mapreduce1/buyer_favorite1,上传到HDFS上的/mymapreduce1/in目录下。

若HDFS目录不存在,需提前创建。

1.hadoop 

fs 

-mkdir 

/mymapreduce1/in 

2.hadoop 

-put 

/data/mapreduce1/buyer_favorite1 

5.打开Eclipse,新建JavaProject项目。

并将项目名设置为mapreduce1。

6.在项目名mapreduce1下,新建package包。

并将包命名为mapreduce。

7.在创建的包mapreduce下,新建类。

并将类命名为WordCount。

8.添加项目所需依赖的jar包,右键单击项目名,新建一个目录hadoop2lib,用于存放项目所需的jar包。

将linux上/data/mapreduce1目录下,hadoop2lib目录中的jar包,全部拷贝到eclipse中,mapreduce1项目的hadoop2lib目录下。

选中hadoop2lib目录下所有的jar包,单击右键,选择BuildPath=>

AddtoBuildPath

9.编写Java代码,并描述其设计思路。

下图描述了该mapreduce的执行过程

大致思路是将hdfs上的文本作为输入,MapReduce通过InputFormat会将文本进行切片处理,并将每行的首字母相对于文本文件的首地址的偏移量作为输入键值对的key,文本内容作为输入键值对的value,经过在map函数处理,输出中间结果<

word,1>

的形式,并在reduce函数中完成对每个单词的词频统计。

整个程序代码主要包括两部分:

Mapper部分和Reducer部分。

Mapper代码

1.public 

static 

class 

doMapper 

extends 

Mapper<

Object, 

Text, 

IntWritable>

WordCount类文件中,单击右键=>

RunAs=>

RunonHadoop选项,将MapReduce任务提交到Hadoop中。

11.待执行完毕后,打开终端或使用hadoopeclipse插件,查看hdfs上,程序输出的实验结果。

-ls 

/mymapreduce1/out 

-cat 

/mymapreduce1/out/part-r-00000 

1.首先在Linux本地,新建/data/hive1目录,用于存放所需文件。

/data/hive1 

切换目录到/data/hive1下,使用wget命令,下载hive所需安装包以及。

3.wget 

2.将/data/hive1目录下的,解压缩到/apps目录下。

-C 

/apps/ 

再切换到/apps目录下,将/apps/,重命名为hive。

/apps 

2.mv 

/apps/hive 

3.使用vim打开用户环境变量。

1.sudo 

vim 

~/.bashrc 

将Hive的bin目录,添加到用户环境变量PATH中,然后保存退出。

1.#hive 

config 

2.export 

HIVE_HOME=/apps/hive 

3.export 

PATH=$HIVE_HOME/bin:

$PATH 

执行source命令,使Hive环境变量生效。

1.source 

4.由于Hive需要将元数据,存储到Mysql中。

所以需要拷贝/data/hive1目录下的到hive的lib目录下。

1.cp 

/data/hive1/ 

/apps/hive/lib/ 

5.下面配置Hive,切换到/apps/hive/conf目录下,并创建Hive的配置文件。

/apps/hive/conf 

2.touch 

使用vim打开文件。

1.vim 

并将下列配置项,添加到文件中。

1.<

configuration>

2. 

<

property>

3. 

name>

4. 

value>

jdbc:

;

characterEncoding=latin1<

/value>

5. 

/property>

6. 

7. 

8. 

9. 

10. 

11. 

12. 

root<

13. 

14. 

15. 

16. 

strongs<

17. 

18.<

/configuration>

由于Hive的元数据会存储在Mysql数据库中,所以需要在Hive的配置文件中,指定mysql的相关信息。

数据库链接字符串。

连接数据库的驱动包。

数据库用户名。

连接数据库的密码。

此处的数据库的用户名及密码,需要设置为自身系统的数据库用户名及密码。

6.另外,还需要告诉Hive,Hadoop的环境配置。

所以我们需要修改文件。

首先我们将重命名为。

1.mv 

/apps/hive/conf/ 

追加Hadoop的路径,以及Hive配置文件的路径到文件中。

1.# 

Set 

HADOOP_HOME 

to 

point 

specific 

hadoop 

install 

directory 

2.# 

HADOOP_HOME=${bin}/../../hadoop 

3.HADOOP_HOME=/apps/hadoop 

4.# 

Hive 

Configuration 

Directory 

can 

be 

controlled 

by:

5.# 

export 

HIVE_CONF_DIR= 

6.export 

HIVE_CONF_DIR=/apps/hive/conf 

7.下一步是配置Mysql,用于存储Hive的元数据。

首先,需要保证Mysql已经启动。

执行以下命令,查看Mysql的运行状态。

service 

mysql 

status 

通过输出,可以看出Mysql未启动。

所以需要执行启动命令。

start 

如果未安装Mysql则需要执行安装命令。

若我们的环境已安装Mysql,则无需执行此步。

apt-get 

mysql-server 

8.开启Mysql数据库。

1.mysql 

-u 

root 

此时会提示输入密码,此处密码为strongs

创建名为hive的数据库,编码格式为latin1,用于存储元数据。

1.create 

database 

hive 

CHARACTER 

SET 

latin1;

查看数据库是否创建成功。

1.show 

databases;

下面,输入exit退出Mysql。

1.exit 

9.执行测试。

由于Hive对数据的处理,依赖MapReduce计算模型,所以需要保证Hadoop相关进程已经启动。

输入jps,查看进程状态。

若Hadoop相关进程未启动,则需启动Hadoop。

1./apps/hadoop/sbin/ 

启动Hadoop后,在终端命令行界面,直接输入hive便可启动Hive命令行模式。

1.hive 

输入HQL语句查询数据库,测试Hive是否可以正常使用。

至此Hive安装完毕。

5.Hive基本操作

一、实验环境准备

1.首先在Linux本地新建/data/hive2目录。

/data/hive2 

2.切换到/data/hive2目录下,使用wget命令,下载plain 

3.输入jps检查Hadoop相关进程,是否已经启动。

若未启动,切换到/apps/hadoop/sbin目录下,启动Hadoop。

2.cd 

3../ 

4.开启Hive,首先,需要保证Mysql启动。

输出显示Mysql未启动。

执行以下启动命令。

然后切换到/apps/hive/bin目录下,开启Hive。

/apps/hive/bin 

2../hive 

二、Hive数据仓库的操作

1.在Hive中创建一个数据仓库,名为DB。

DB;

2.以上简单创建了一个DB库,但是这条sql可以更进一步的优化,我们可以加上ifnotexists。

if 

not 

exists 

解析:

在创建库时,应避免新建的库名与已有库名重复,如果库名重复将会报出以下错误(我在已有DB库的前提下,再次创建了DB库)。

错误提示数据仓库DB已经存在,那么加入的ifnotexists就起了作用,如下(在已有DB库的前提下,再次创建DB库,提示成功不会报错)

加入ifnotexists的意思是如果没有DB库就创建,如果已有就不再创建。

3.查看数据仓库DB的信息及路径。

1.describe 

4.删除名为DB的数据仓库。

1.drop 

三、Hive数据表的操作

Hive的数据表分为两种:

内部表和外部表。

Hive创建内部表时,会将数据移动到数据仓库指向的路径;

若创建外部表,仅记录数据所在的路径,不对数据的位置做任何改变。

在删除表的时候,内部表的元数据和数据会被一起删除,而外部表只删除元数据,不删除数据。

这样外部表相对来说更加安全些,数据组织也更加灵活,方便共享源数据,生产中常使用外部表。

下面详细介绍对表操作的命令及使用方法:

即将创建的表,表名不能和已有表名重复,否则会报错,现在我们showtables一下,查看已存在的表。

tables;

现在库中没有表。

1.创建一个名为cat的内部表,有两个字段为cat_id和cat_name,字符类型为string。

table 

cat(cat_id 

string,cat_name 

string);

查看是否创建成功。

下面我们再次创建一个与刚才表名相同的表,看一下报错。

提示错误,该表已经存在!

说明表与库一样,名称不能重复,解决方法是加入ifnotexists。

2.创建一个外部表,表名为cat2,有两个字段为cat_id和cat_name,字符类型为string。

external 

cat2(cat_id 

外部表较内部表而言,只是在create后加了一个external。

3.修改cat表的表结构。

对cat表添加两个字段group_id和cat_code。

1.alter 

cat 

add 

columns(group_id 

string,cat_code 

使用desc命令查看一下加完字段后的cat表结构。

1.desc 

cat;

4.修改cat2表的表名。

把cat2表重命名为cat3。

cat2 

rename 

cat3;

这个命令可以让用户为表更名,数据所在的位置和分区名并不改变。

5.删除名为cat3的表并查看。

2.show 

6.创建与已知表相同结构的表,创建一个与cat表结构相同的表,名为cat4,这里要用到like关键字。

cat4 

like 

创建完成并查看结果。

四、Hive中数据的导入导出

以下介绍四种常见的数据导入方式:

1.从本地文件系统中导入数据到Hive表。

首先,在Hive中创建一个cat_group表,包含group_id和group_name两个字段,字符类型为string,以“\t”为分隔符,并查看结果。

cat_group(group_id 

string,group_name 

string) 

row 

format 

delimited 

fields 

terminated 

by 

'

\t'

stored 

as 

textfile;

[rowformatdelimited]关键字,是用来设置创建的表在加载数据的时候,支持的列分隔符。

[storedastextfile]关键字,是用来设置加载数据的数据类型,默认是TEXTFILE,如果文件数据是纯文本,就是使用[storedastextfile],然后从本地直接拷贝到HDFS上,Hive直接可以识别数据。

然后,将Linux本地/data/hive2目录下的cat_group文件导入到Hive中的cat_group表中。

1.load 

data 

local 

inpath 

/data/hive2/cat_group'

into 

cat_group;

通过select语句查看cat_group表中是否成功导入数据,由于数据量大,使用limit关键字限制输出10条记录。

1.select 

from 

cat_group 

limit 

10;

导入成功。

2.将HDFS上的数据导入到Hive中。

首先,另外开启一个操作窗口,在HDFS上创建/myhive2目录。

/myhive2 

然后,将本地/data/hive2/下的cat_group表上传到HDFS的/myhive2上,并查看是否创建成功。

/data/hive2/cat_group 

接着,在Hive中创建名为cat_group1的表,创表语句如下。

cat_group1(group_id 

2.row 

最后,将HDFS下/myhive2中的表cat_group导入到Hive中的cat_group1表中,并查看结果。

/myhive2/cat_group'

cat_group1;

2.select 

cat_group1 

提示:

HDFS中数据导入到Hive中与本地数据导入到hive中的区别是loaddata后少了local。

3.从别的表中查询出相应的数据并导入到Hive中。

首先在Hive中创建一个名为ca

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 成人教育 > 电大

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2