嘉明的云计算与大数据学习之大数据综合实验案例(代码片段)

Zcymatics Zcymatics     2023-02-19     788

关键词:

1.实验环境

(1)Linux:Ubuntu 16.04。
虚拟机镜像下载链接:https://pan.baidu.com/s/1i_B-2rAfPM53jf7Besi0tw
提取码:WZJM

(2)MySQL:5.7.16。
(3)Hadoop:2.7.1。
(4)HBase:1.1.5。
(5)Hive:1.2.1。
(6)Sqoop:1.4.6。
(7)R:4.1.2。
(8)Eclipse:3.8。

2.实验步骤概述

本案例共包含4个实验步骤。
(1)本地数据集上传到数据仓库Hive。
(2)Hive数据分析。
(3)Hive,MySQL、HBase数据互导。
(4)利用R进行数据可视化分析。

实验整体的流程如下:
将数据源抽取到HDFS存储;
通过Hive清洗、处理和计算原始数据;
HIve清洗处理后的结果,可以存入Hbase或者其它数据库中例如MySQL

2.1.本地数据集上传到数据仓库Hive

数据集的下载链接
链接:https://pan.baidu.com/s/1wsHq9BlbNb-291UWnDduJg
提取码:WZJM

登录Linux系统,并在Linux系统中打开浏览器火狐浏览器;然后在Linux系统的浏览器中下载user. zip到本地。,因为采用的是hadoop用户名登录了Linux系统,所以,下载后的文件会被浏览器默认保存到“/home/ hadoop/下载/”目录下面。

打开终端输入如下命令:

cd home/hadoop/下载
Ls


出现uer.zip后证明下载成功

下面需要把user. zip进行解压缩,首先建立一个用于运行的目录bigdatacase,执行以下命令:

cd /usr/local
ls
sudo mkdir bigdatacase#这里会提示你输入当前用户(本教程是hadoop用户名)的密码#下面给hadoop用户赋予针对bigdatacase目录的各种操作权限
sudo chown -R hadoop:hadoop ./bigdatacasecd bigdatacase#下面创建一个dataset目录,用于保存数据集
mkdir dataset#下面就可以解压缩user.zip文件cd ~  //表示进入hadoop用户的目录cd 下载
ls
unzip user.zip -d /usr/local/bigdatacase/datasetcd /usr/local/bigdatacase/dataset
ls

现在就可以看到在 dataset目录下有两个文件:raw_user,csv和 small_user.csv。执行下面命令取出前面5条记录看一下:

head -5 raw_user.csv

可以看出,每行记录都包含5个字段,数据集中的字段及其含义如下。
(1) user_id(用户id)。
(2) item_id(商品id)。
(3) behaviour_type(包括浏览﹑收藏,加购物车、购买,对应取值分别是1、2、3、4)。
(4) user_geohash(用户地理位置哈希值,有些记录中没有这个字段值,所以后面会用脚本做数据预处理时把这个字段全部删除)。
(5) item_category(商品分类)。
(6) time(该记录产生时间)。

2.2.Hive数据分析

2.2.1.数据集的预处理

2.2.1.1.删除第一行文件的记录

cd /usr/local/bigdatacase/dataset#下面删除raw_user中的第1行
sed -i '1d' raw_user#上面的1d表示删除第1行,同理,3d表示删除第3行,nd表示删除第n行#下面删除small_user中的第1行
sed -i '1d' small_user#下面再用head命令去查看文件的前5行记录,就看不到字段名称这一行了	
head -5 raw_user.csv
head -5 small_user.csv

2.2.1.2.对字段进行预处理

下面对数据集进行预处理,包括为每行记录增加一个id字段(让记录具有唯一性)、增加一个省份字段(用来后续进行可视化分析),并且丢弃user_geohash字段(后面分析不需要这个字段)。

下面要建一个脚本文件 pre_deal.sh,把这个脚本文件放在 dataset目录下﹐和数据集small_user.csv放在同一个目录下:

cd /usr/local/bigdatacase/dataset
vim pre_deal.sh

上面使用vim编辑器新建了一个pre_deal.sh脚本文件,在这个脚本文件下加入下面代码:

#!/bin/bash#下面设置输入文件,把用户执行pre_deal.sh命令时提供的第一个参数作为输入文件名称
infile=$1#下面设置输出文件,把用户执行pre_deal.sh命令时提供的第二个参数作为输出文件名称
outfile=$2#注意,最后的$infile> $outfile必须跟在’这两个字符的后面
awk -F "," 'BEGIN
srand();
        id=0;
        Province[0]="山东";Province[1]="山西";Province[2]="河南";Province[3]="河北";Province[4]="陕西";Province[5]="内蒙古";Province[6]="上海市";
        Province[7]="北京市";Province[8]="重庆市";Province[9]="天津市";Province[10]="福建";Province[11]="广东";Province[12]="广西";Province[13]="云南"; 
        Province[14]="浙江";Province[15]="贵州";Province[16]="新疆";Province[17]="西藏";Province[18]="江西";Province[19]="湖南";Province[20]="湖北";
        Province[21]="黑龙江";Province[22]="吉林";Province[23]="辽宁"; Province[24]="江苏";Province[25]="甘肃";Province[26]="青海";Province[27]="四川";
        Province[28]="安徽"; Province[29]="宁夏";Province[30]="海南";Province[31]="香港";Province[32]="澳门";Province[33]="台湾";
    
    
        id=id+1;
        value=int(rand()*34);       
        print id"\\t"$1"\\t"$2"\\t"$3"\\t"$5"\\t"substr($6,1,10)"\\t"Province[value]
    ' $infile> $outfile

执行pre_deal.sh脚本文件,对small_user.csv进行数据预处理,命令如下:

cd /usr/local/bigdatacase/dataset
bash ./pre_deal.sh small_user.csv user_table.txt

可以查看生成的user_table.txt,但是,不要直接打开。因为文件过大,直接打开会出错,可以使用head命令查看前10行数据:

head -10 user_table.txt

执行上面命令以后,可以得到如下结果:

2.2.2.导入数据库

下面把user_table.txt中的数据导入到数据仓库 Hive中。为了完成这个操作,首先需要把user_table.txt 上传到分布式文件系统HDFS中;然后在Hive中创建一个外部表,完成数据的导入。

2.2.2.1.启动HDFS

下面登录Linux系统,打开一个终端,执行下面命令启动Hadoop:

cd /usr/local/hadoop
./sbin/start-all.sh

查看当前运行的进程
jps

2.2.2.2.把user_table.txt上传到HDFS中

现在需要把Linux本地文件系统中的user_table.txt上传到分布式文件系统HDFS中,并存放在HDFS中的/bigdatacase/ dataset目录下。
首先需要在 HDFS的根目录下面创建一个新的目录 bigdatacase,并在这个目录下创建一个子目录dataset,具体命令如下:

cd /usr/local/hadoop ./bin/hdfs dfs –mkdir -p /bigdatacase/dataset ./bin/hdfs dfs –mkdir -ls /bigdatacase


然后把Linux本地文件系统的user_table.txt上传到分布式文件系统HDFS的/bigdatacase/dataset目录下:

./bin/hdfs dfs -put /usr/local/bigdatacase/dataset/user_table.txt /bigdatacase/dataset

查看HDFS中user_table.txt的前10条记录,命令如下:

./bin/hdfs dfs-cat /bigdatacase/dataset/user_table.txt | head -10

2.2.3.在Hive下创建数据库

下面在Linux系统中再新建一个终端(可以在刚才已经建好的终端界面的左上角,单击“终端”菜单,在弹出的子菜单中选择“新建终端”)。因为需要借助于MySQL保存 Hive的元数据﹐所以,先启动MySQL数据库,可以在终端中输人如下命令:

service mysql start  #可以在Linux的任何目录下执行该命令

进入Hive,命令如下:

cd /usr/local/hive
./bin/hive   #启动Hive

启动成功后,就进入了hive>命令提示符状态。在Hive中创建一个数据库dblab,命令如下:

hive> create database dblab;
hive> use dblab;

2.2.3.1.创建外部表

在数据库dblab中创建一个外部表bigdata_user,它包含字段(id , uid, item_id, behavior_type, item_category , date, province),在 hive命令提示符下输入如下命令:

hive>  CREATE EXTERNAL TABLE dblab.bigdata_user(id INT,uid STRING,item_id STRING,behavior_type INT,item_category STRING,visit_date DATE,province STRING) COMMENT 'Welcome to xmudblab!' ROW FORMAT DELIMITED FIELDS TERMINATED BY '\\t' STORED AS TEXTFILE LOCATION '/bigdatacase/dataset';

2.2.3.2.查询数据

上面已经成功把 HDFS中的/bigdatacase/dataset目录下的数据加载到了数据仓库Hive 中;然后在hive>命令提示符状态下执行下面命令查看表的信息:

hive> use dblab; //使用dblab数据库
hive> show tables; //显示数据库中所有表
hive> show create table bigdata_user; //查看bigdata_user表的各种属性

查看表的简单结构:

hive> desc bigdata_user;

查询相关数据:

hive> select * from bigdata_user limit 10;
hive> select behavior_type from bigdata_user limit 10;


2.2.4.Hive进行数据分析

查看前10位用户对商品的行为:

hive> select behavior_type from bigdata_user limit 10; #查看前10位用户对商品的行为

查询前20位用户购买商品的时间和商品的种类:

hive> select visit_date, item_category from bigdata_user limit 20;

有时在表中查询可以利用嵌套语句,如果列名太复杂可以设置该列的别名,以简化操作的难度,举例如下:

hive> select e.bh, e.it from (select behavior_type as bh, item_category as it from bigdata_user) as e  limit 20;

上面语句中,“behavior_type as bh,item_category as it”是为behavior_type设置别名bh,为 item_category设置别名it,FROM的括号里的内容,也设置了别名e,这样调用时就可以使用e.bh和e.it,可以简化代码。

2.2.4.1.查询条数统计分析

用聚合函数 count()计算出表内有多少行数据:

hive> select count(*) from bigdata_user;

在函数内部加上distinct,查出uid不重复的数据有多少条:

hive> select count(distinct uid) from bigdata_user;

查询不重复的数据有多少条(排除客户刷单情况):

hive>select count(*) from (select uid,item_id,behavior_type,item_category,visit_date,province from bigdata_user groupby uid,item_id,behavior_type,item_category,visit_date,province having count(*)=1)a;

2.2.4.2.关键字条件查询分析

以关键字的存在区间为条件的查询
查询2014年12月10日到2014年12月13日有多少人浏览了商品。:

hive> select count(*) from bigdata_user where behavior_type='1' and visit_date<'2014-12-13' and visit_date>'2014-12-10';

以月的第n天为统计单位,依次显示第n天网站卖出去的商品的个数:

hive> select count(distinct uid), day(visit_date) from bigdata_user where behavior_type='4' group by day(visit_date);

关键字赋予定值为条件,对其他数据进行分析
取给定时间和给定地点,求当天发出到该地点的货物的数量:

hive> select count(*) from bigdata_user where province='江西' and visit_date='2014-12-12' and behavior_type='4';

2.2.4.3.根据用户行为分析

查询一件商品在某天的购买比例或者浏览比例:

hive> select count(*) from bigdata_user where visit_date='2014-12-11'and behavior_type='4';#查询有多少用户在2014-12-11购

hive> select count(*) from bigdata_user where visit_date ='2014-12-11';#查询有多少用户在2014-12-11点击了该店

查询某个用户在某一天点击网站占改天所有点击行为的比例:

hive> select count(*) from bigdata_user where uid=10001082 and visit_date='2014-12-12';#查询用户10001082在2014-12-12点击网站的次数

hive> select count(*) from bigdata_user where visit_date='2014-12-12';#查询所有用户在这一天点击该网站的次数

给定购买商品的数量范围,查询某一天在该网站的购买该数量商品的用户id:

hive> select uid from bigdata_user where behavior_type='4' and visit_date='2014-12-12' group by uid having count(behavior_type='4')>5;#查询某一天在该网站购买商品超过5次的用户id

2.2.4.4.用户实时查询分析

查询某个地区的用户当天浏览网站的次数,语句如下:

hive> create table scan(province STRING,scan INT) COMMENT 'This is the search of bigdataday' ROW FORMAT DELIMITED FIELDS TERMINATED BY '\\t' STORED AS TEXTFILE;#创建新的数据表进行存储
hive> insert overwrite table scan select province,count(behavior_type) from bigdata_user where behavior_type='1' group by province;#导入数据
hive> select * from scan;#显示结果

2.3.Hive,MySQL,HBase数据互导

2.3.1.Hive预操作

2.3.1.1.创建临时表user_action

进入Hive与hadoop,命令如下:
cd /usr/local/hadoop
./sbin/start-all.sh #启动Hadoop
cd /usr/local/hive
./bin/hive   #启动Hive

命令如下:

hive> create table dblab.user_action(id STRING,uid STRING, item_id STRING, behavior_type STRING, item_category STRING, visit_date DATE, province STRING) COMMENT 'Welcome to XMU dblab! ' ROW FORMAT DELIMITED FIELDS TERMINATED BY '\\t' STORED AS TEXTFILE;

确认这个数据文件在HDFS中确实已经被创建

cd /usr/local/hadoop
./bin/hdfs dfs -ls /user/hive/warehouse/dblab.db/user_action

2.3.1.2.将bigdata_user表中的数据插入到user_action

1.将bigdata_user表中的数据插入到user_action命令如下:

hive> INSERT OVERWRITE TABLE dblab.user_action select * from dblab.bigdata_user;

2.查询上面的插入命令是否成功

hive> select * from user_action limit 10;

2.3.2.使用Sqoop将数据从Hive导入MySQL

2.3.2.1.安装sqoop

1.访问Sqoop官网(http:// sqoop.apache. org/),下载Sqoop安装文件sqoop-1.4.6.bin_hadoop-2.0.4-alpha.tar. Gz,sqoop-1.4.6.bin_hadoop-2.0.4-alpha.tar. gz文件会被保存到“/home/hadoop/下载/”目录下。

2.执行如下命令,完成安装文件解压缩:

cd ~/下载
sudo tar -zxvf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz -C /usr/local

3.将解压的文件的名称修改为sqoop,以简化操作,不用每次都输入很长的文件名,命令如下:

cd /usr/local
sudo mv sqoop-1.4.6.bin__hadoop-2.0.4-alpha sqoop

4.接下来把sqoop文件夹的权限赋予当前的hadoop用户,命令如下:

sudo chown -R hadoop:hadoop sqoop

修改配置文件
1.执行如下命令把/usr/local/sqoop/conf目录下的配置文件 sqoop-env-template.sh 复制一份,并命名为sqoop-env.sh

cd sqoop/conf/
cat sqoop-env-template.sh >> sqoop-env.sh

2.使用vim 编辑器打开sqoop-env.sh文件进行编辑:

cd /usr/local/sqoop/conf/
vim sqoop-env.sh

3.在sqoop-env.sh文件中添加如下配置信息:

export HADOOP_COMMON_HOME=/usr/local/hadoop
export HADOOP_MAPRED_HOME=/usr/local/hadoop
export HBASE_HOME=/usr/local/hbase
export HIVE_HOME=/usr/local/hive
#export ZOOCFGDIR= #如果读者配置了ZooKeeper,也需要在此配置ZooKeeper的路径

配置环境变量
1.使用vim编辑器打开~/.bashrc文件,命令如下:

vim ~/.bashrc

2.在该文件开头加入如下代码:

export SQOOP_HOME=/usr/local/sqoop
export PATH=$PATH:$SBT_HOME/bin:$SQOOP_HOME/bin
export CLASSPATH=$CLASSPATH:$SQOOP_HOME/lib


3.保存该文件,并退出 vim编辑器。接下来执行如下命令使得环境变量立即生效:

source ~/.bashrc

添加Mysql驱动程序
把已经下载了MySQL驱动程序mysql-connector-java-5.1.40. tar.gz,并且被放入到"“/home/hadoop/下载”目录中。执行如下命令解压缩文件并复制到 Sqoop安装目录下:

cd ~/下载
sudo tar -zxvf  mysql-connector-java-5.1.40.tar.gz  #解压MySQL驱动包
ls #这时就可以看到解压缩后得到的目录mysql-connector-java-5.1.40
cp ./mysql-connector-java-5.1.40/mysql-connector-java-5.1.40-bin.jar /usr/local/sqoop/lib



测试MySql的连接
1.首先要确保 MySQL服务已经启动,如果没有启动,执行下面命令启动:

service mysql start

2.然后就可以测试 Sqoop 与 MySQL之间的连接是否成功,命令如下:

sqoop list-databases --connect jdbc:mysql://127.0.0.1:3306/ --username root -P hadoop

3.如果能够看到 MySQL数据库中的数据库列表,就表示 Sqoop安装成功。

2.3.2.2.将前面生成的临时表数据从Hive导入到MySQL中

1.登录MySQL,命令如下:

mysql –u root -p hadoop

2.进入mysql后,创建数据库

mysql> show databases; #显示所有数据库
mysql> create database dblab; #创建dblab数据库
mysql> use dblab; #使用数据库



3.查看数据库编码,mysql命令如下:

mysql>show variables like "char%";

确认编码格式为utf-8,否则无法导入中文。

4.创建表,mysql命令如下:

mysql> CREATE TABLE `dblab`.`user_action` (`id` varchar(50),`uid` varchar(50),`item_id` varchar(50),`behavior_type` varchar(10),`item_category` varchar(50), `visit_date` DATE,`province` varchar(20)) ENGINE=InnoDB DEFAULT CHARSET=utf8;
mysql> exit #创建成功后退出


5.导入数据,命令如下:

cd /usr/local/sqoop
./bin/sqoop export --connect jdbc:mysql://localhost:3306/dblab --username root --password hadoop --table user_action --export-dir '/user/hive/warehouse/dblab.db/user_action' --fields-terminated-by '\\t'; #导入命令


6.查看MySQL中user_action表数据,命令如下:

mysql -u root -p
mysql> use dblab;
mysql> select * from user_action limit 10;


从Hive导入数据到MySQL中的操作完成。

2.3.3.使用Sqoop将数据从MySQL导入HBase

1.使用Hadoop集群、MySQL服务、HBase服务,在终端中执行如下命令:

cd /usr/local/hbase
./bin/start-hbase.sh

2.启动HBase shell

cd /usr/local/hbase
./bin/hbase shell

3.创建表user_action,命令如下:

hbase> create 'user_action',  NAME => 'f1', VERSIONS => 5

4.导入数据(终端中进行),命令如下:

cd /usr/local/sqoop
./bin/sqoop  import  --connect jdbc:mysql://localhost:3306/dblab --username root --password hadoop --table user_action --hbase-table user_action --column-family f1 --hbase-row-key id --hbase-create-table -m 1


5.查看HBase中user_action表数据,hbase命令如下:

hbase> scan 'user_action',LIMIT=>10  #只查询前面10行

2.3.4.使用HBaseJava API把数据从本地导入到HBase中

1.启动 Hadoop集群、HBase服务,命令如下:

cd /usr/local/hadoop
./sbin/start-all.shcd /usr/local/hbase
./bin/start-hbase.sh

2.数据准备,命令如下:

cd /usr/local/bigdatacase/dataset
/usr/local/hadoop/bin/hdfs dfs -get /user/hive/warehouse/dblab.db/user_action .
 #将HDFS上的user_action数据复制到本地当前目录,注意'.'表示当前目录
cat ./user_action/* | head -10   #查看前10行数据
cat ./user_action/00000* > user_action.output #将00000*文件复制一份重命名为user_action.output,*表示通配符
head user_action.output  #查看user_action.output前10行

3.编写数据导入程序,采用Eclipse编写Java程序实现HBase数据导入功能
为了编写一个能够与HBase交互的Java应用程序,需要在这个界面中加载该Java 工程所需要用到的JAR包,这些JAR包中包含了可以访问HBase的Java API。这些JAR包都位于Linux系统的HBase安装目录的lib目录下,也就是位于/usr/local/hbase/lib目录下。单击界面中的Libraries选项卡,然后单击界面右侧的Add External JARs按钮,导入上述的包。

4.在 Eclipse中编写上述代码,并打包成可执行 jar包,命名”ImportHBase.jar ;然后在/usr/local/bigdatacase/目录下面新建一个 hbase子目录,用来有放ImportHBase.jar。


5.数据导入(再导入前清空uer_action表),命令如下:

cd /usr/lcoal/hbase
./bin/hbase shell 
hbase> truncate 'user_action'

6.运行hadoop jar命令即刚刚编写的程序,命令如下:

/usr/local/hadoop/bin/hadoop jar /usr/local/bigdatacase/hbase/ImportHBase.jar HBaseImportTest 
/usr/local/bigdatacase/dataset/user_action.output


7.查看HBase中user_action表数据,hbase命令如下:

habse> scan 'user_action',LIMIT=>10  #只查询前面10行

2.4.利用R进行数据可视化分析

2.4.1.安装R

登录Linux系统,打开一个终端,并注意保持网络连通,可以访问互联网,因为安装过程要下载各种安装文件。

1.首先利用vim编辑器打开/etc/apt/sources.list 文件,命令如下:

$ sudo vim /etc/apt/sources.list

2.在文件的最后一行添加厦门大学的镜像源:

$ deb http://mirrors.xmu.edu.cn/CRAN/bin/linux/ubuntu/ trusty/

3.然后,执行如下命令更新软件源列表:

$ sudo apt-get update

4.如果更新软件源出现“由于没有公钥无法验证签名”的错误,请执行如下命令:

$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 51716619E084DAB9

5.接下来执行如下命令安装R语言:

$ sudo apt-get install r-base

6.从键盘输人y,按Enter键就可以顺利安装,结束安装结束后,可以执行下面命令启动R,启动后会显示如下信息,并进入>命令提示符状态:

$ R

7.最后可以执行下面命令退出R:

 >q()

2.4.2.安装依赖库

1.因为后面的步骤不断报错,就上网找了很久,最后大多数都说是这个R的版本问题,所以就更新了一下R

$ sudo su
$ echo "deb http://www.stats.bris.ac.uk/R/bin/linux/ubuntu xenial-cran40/" >> /etc/apt/sources.list
$ apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E084DAB9
$ apt-get update
$ apt-get upgrade
$ sudo apt-get install r-base

从2.3.2更新到4.1.2版本

为了完成可视化分析功能,需要为R安装一些依赖库,包括 RMySQL、ggplot2,devtools和 recharts。其中,RMySQL是一个提供了访问 MySQL数据库的R语言接口程序的R语言依赖库, ggplot2和recharts则是R语言中提供绘图可视化功能的依赖库。

2.启动R进入R命令提示符状态,执行如下命令安装RMySQL:

install.packages('RMySQL')

因为我们更新了R,可能自动帮我们选择了下载源,因此不用选择镜像。

3.执行如下命令安装绘图包ggplot2,更新之后就不会报错了:

> install.packages('ggplot2')


4.执行如下命令安装绘图包devtools:

> install.packages('devtools')


5.在 Ubuntul6.04上执行devtools安装时,可能会出现3次错误,根据每次错误的英文提示信息﹐就需要3个软件:libssl-dev, libssh2-1-dev, libcurl4-openssl-dev。安装命令如下:

$ sudo apt-get install libssl-dev
$ sudo apt-get install libssh2-1-dev
$ sudo apt-get install libcurl4-openssl-dev



6.最后在R命令提示符下,再执行如下命令安装taiyun/recharts :

> devtools::install_github('taiyun/recharts')

2.4.3.可视化分析

2.4.3.1.连接MySQL并获取数据

1.进入mysql,命令如下:

$ service mysql start
$ mysql -u root -p


2.查询数据,命令如下:

mysql> use dblab;
mysql> select * from user_action limit 10;

3.切换到刚才已经打开的R命令提示符终端窗口,使用如下命令让R连接到 MySQL数据库:

>library(RMySQL)>conn <- dbConnect(MySQL(),dbname='dblab',username='root',password='hadoop',host="127.0.0.1",port=3306)>user_action <- dbGetQuery(conn,'select * from user_action')

2.4.3.2.分析消费者对商品的行为

summary()函数可以得到样本数据类型和长度,如果样本是数值型,还能得到样本数据的最小值、最大值,四分位数和均值信息。
1.首先使用summary()函数查看MySQL数据库中表user_action的字段behavior_type的类型,命令如下:

>summary(user_action$behavior_type)

大数据学习之mapreduce编程案例一单词计数10

一:单词计数1:单词计数总流程图 2:代码实现1:Map阶段packageit.dawn.YARNPra.wc_hdfs;importjava.io.IOException;importorg.apache.hadoop.io.IntWritable;importorg.apache.hadoop.io.LongWritable;importorg.apache.hadoop.io.Te 查看详情

头歌educoder云计算与大数据——实验五javaapi分布式存储(代码片段)

实验五JavaAPI分布式存储第1关:利用shell把电商数据上传到HDFS任务描述相关知识HDFSshell常见命令编程要求测试说明代码实现第2关:利用JavaAPI把电商数据上传到HDFS任务描述相关知识常用HDFSJava接口的使用编程要求测试说明... 查看详情

spark学习之处理数据倾斜(代码片段)

🐥今天我们将对大数据计算管理部分的数据倾斜做一个总结,本文讲述主要是以spark计算引擎主,相信我,这可能是你看见过最详细的数据倾斜解决方案。对往期内容感兴趣的同学可以参考如下内容👇:链接:sp... 查看详情

云计算与大数据介绍(非原创)

...硬件资源和信息可以按需提供给计算机和其他设备。典型的云计算提供商往往提供通用的网络业务应用,可以通过浏览器等软件或者其他Web服务来访问,而软件和数据都存储在服务器上。云计算服务通常提供通用的通过浏览器访... 查看详情

大数据学习之mapreduce基础与yarn集群安装09

...海量数据的存储:hadoop->分布式文件系统HDFS海量数据的计算:hadoop->分布式计算框架MapReduce 2什么是MapReduce? 分布式程序的编程框架,java->sshssm,目的:简化开发!是基于hadoop的数据分析应用的核心框架。mapreduce的... 查看详情

大数据学习之kafka消息队列31

一:Kafka概述离线部分:Hadoop->离线计算(hdfs/mapreduce)yarnzookeeper->分布式协调(动物管理员)hive->数据仓库(离线计算/sql)easycodingflume->数据采集sqoop->数据迁移mysql->hdfs/hivehdfs/hive->mysqlAzkaban->任务调度工具hbase-&g 查看详情

大数据学习之storm实时计算概述及安装部署33

...//storm.apache.org/ ApacheStorm是一个免费的开源分布式实时计算系统。Storm可以轻松可靠地处理无限数据流,实现Hadoop对批处理所做的实时处理。Storm非常简单,可以与任何编程语言一起使用,并且使用起来很有趣! Storm有许多... 查看详情

大数据入门学习之hadoop技术优缺点

...按位存储和处理数据能力的高可靠性。(2)Hadoop通过可用的计算机集群分配数据,完成存储和计算任务,这些集群可以方便地扩展到数以千计的节点中,具有高扩展性。(3)Hadoop能够在节点之间进行动态地移动数据,并保证各个节点... 查看详情

大数据学习之提交job流程,排序11

...序4)二次排序 3 案例:在流量汇总输出文件里的数据 进行分区,每个分区中的数据进行排序 数据预览,这里只是进行了流量的汇总,没有进行分区和排序& 查看详情

数据科学与大数据技术专业——云计算●虚拟化课程期末复习卷及其简答(代码片段)

  虚拟化云计算综合复习题  复习题2:  一、选择题(每题3分,共48分)  1、(多项选择)虚拟基础架构包括以下哪些组件ABD?  (A)裸机管理程序  (B)虚拟基础架构... 查看详情

数据科学与大数据技术专业——云计算●虚拟化课程期末复习卷及其简答(代码片段)

  虚拟化云计算综合复习题  复习题1:  一、选择题(每题3分,共48分)  1、(多项选择)虚拟化常见的类型有ABCD。  (A)服务器虚拟化  (B)桌面虚拟化  (C)... 查看详情

数据科学与大数据技术专业——云计算●虚拟化课程期末复习卷及其简答(代码片段)

  虚拟化云计算综合复习题  复习题2:  一、选择题(每题3分,共48分)  1、(多项选择)虚拟基础架构包括以下哪些组件ABD?  (A)裸机管理程序  (B)虚拟基础架构... 查看详情

大数据spark“蘑菇云”行动代码学习之adclickedstreamingstats模块分析

2016年大数据Spark“蘑菇云”行动代码学习之AdClickedStreamingStats模块分析  系统背景:用户使用终端设备(IPAD、手机、浏览器)等登录系统,系统采用js脚本发送用户信息和广告点击信息到后台日志,进入flume监控,通过kafka... 查看详情

集成学习之随机森林案例专题python机器学习系列(十七)(代码片段)

...1准备数据2.2python实现随机森林--分类任务2.3绘制ROC曲线与计算AUC2.4绘制决策树3.随机森林--回归任务集成学习算法,并不是一种具体的算法。确切地讲,集成学习算法是一种思想。它的工作原理是建立多 查看详情

大数据学习之hadoop生态圈(代码片段)

...6、Hadoop的优点及缺点7、Hadoop组成前言上篇文章讲述了大数据的发展及历程,这篇文章就带大家进入大数据的技术应用,以下文章观点或描述如有错误,请指正!!1、什么是hadoop广义&#x 查看详情

spark学习之处理数据倾斜

🐥今天我们将对大数据计算管理部分的数据倾斜做一个总结,本文讲述主要是以spark计算引擎主,相信我,这可能是你看见过最详细的数据倾斜解决方案。对往期内容感兴趣的同学可以参考如下内容👇:链接:sp... 查看详情

大数据培训内容,大数据要学哪些课程

...iGvjn2DlL5pPISCG_O0Sw?pwd=zxcv提取码:zxcv大数据实训课程资料|云计算与虚拟化课程资源|课程实验指导书综合版|机器学习与算法分析课程资源|Spark课程资源|Python课程资源|Hadoop技术课程资源|云计算课程资料.zip|微课.zip|算法建模与程序示... 查看详情

数据结构学习之单链表基本操作(代码片段)

数据结构学习之单链表基本操作0x1前言今天实验课,学习了下单链表的写法,这里记录下。0x2正文题目要求如下:本实验的单链表元素的类型为char,完成如下实验要求:(1)初始化单链表h(2)采用尾插法依次插入a、b、c、d、e(3... 查看详情