国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

大數(shù)據(jù)期末課程設(shè)計(jì)實(shí)驗(yàn)案例:網(wǎng)站用戶行為分析

這篇具有很好參考價(jià)值的文章主要介紹了大數(shù)據(jù)期末課程設(shè)計(jì)實(shí)驗(yàn)案例:網(wǎng)站用戶行為分析。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

大數(shù)據(jù)課程實(shí)驗(yàn)案例:網(wǎng)站用戶行為分析
案例目的
1.熟悉Linux系統(tǒng)、MySQL、Hadoop、HBase、Hive、Sqoop、R、Eclipse等系統(tǒng)和軟件的安裝和使用;
2.了解大數(shù)據(jù)處理的基本流程;
3.熟悉數(shù)據(jù)預(yù)處理方法;
4.熟悉在不同類型數(shù)據(jù)庫之間進(jìn)行數(shù)據(jù)相互導(dǎo)入導(dǎo)出;
5.熟悉使用R語言進(jìn)行可視化分析;
6.熟悉使用Elipse編寫Java程序操作HBase數(shù)據(jù)庫。
大數(shù)據(jù)期末課程設(shè)計(jì)實(shí)驗(yàn)案例:網(wǎng)站用戶行為分析

案例任務(wù)
1.安裝Linux操作系統(tǒng)
2.安裝關(guān)系型數(shù)據(jù)庫MySQL
3.安裝大數(shù)據(jù)處理框架Hadoop
4.安裝列族數(shù)據(jù)庫HBase
5.安裝數(shù)據(jù)倉庫Hive
6.安裝Sqoop
7.安裝R
8.安裝Eclipse
9.對(duì)文本文件形式的原始數(shù)據(jù)集進(jìn)行預(yù)處理
10.把文本文件的數(shù)據(jù)集導(dǎo)入到數(shù)據(jù)倉庫Hive中
11.對(duì)數(shù)據(jù)倉庫Hive中的數(shù)據(jù)進(jìn)行查詢分析
12.使用Sqoop將數(shù)據(jù)從Hive導(dǎo)入MySQL
13.使用Sqoop將數(shù)據(jù)從MySQL導(dǎo)入HBase
14.使用HBase Java API把數(shù)據(jù)從本地導(dǎo)入到HBase中
15.使用R對(duì)MySQL中的數(shù)據(jù)進(jìn)行可視化分析

大數(shù)據(jù)期末課程設(shè)計(jì)實(shí)驗(yàn)案例:網(wǎng)站用戶行為分析

說明:Word可能導(dǎo)致部分命令或代碼有問題,每一個(gè)步驟都提供參考鏈接,詳細(xì)查看參考鏈接

首先1.安裝Linux系統(tǒng);
參考https://dblab.xmu.edu.cn/blog/285/
以下是各軟件的安裝,通過啟動(dòng)來驗(yàn)證安裝
所有準(zhǔn)備好在這里
cd /home/hadoop/a
大數(shù)據(jù)期末課程設(shè)計(jì)實(shí)驗(yàn)案例:網(wǎng)站用戶行為分析

用戶準(zhǔn)備工作
sudo useradd -m hadoop -s /bin/bash
Shell 命令這條命令創(chuàng)建了可以登陸的 hadoop 用戶,并使用 /bin/bash 作為 shell。
接著使用如下命令設(shè)置密碼,可簡(jiǎn)單設(shè)置為 hadoop,按提示輸入兩次密碼:
sudo passwd hadoop
密碼:123
可為 hadoop 用戶增加管理員權(quán)限,方便部署,避免一些對(duì)新手來說比較棘手的權(quán)限問題:

sudo adduser hadoop sudo
更新apt
用 hadoop 用戶登錄后,我們先更新一下 apt,后續(xù)我們使用 apt 安裝軟件,如果沒更新可能有一些軟件安裝不了。按 ctrl+alt+t 打開終端窗口,執(zhí)行如下命令:
sudo apt-get update
修改各個(gè)節(jié)點(diǎn)的主機(jī)名
sudo vi /etc/homename

安裝ssh工具
1.打開終端鍵入如下命令:
apt-get update
apt-get install openssh-server
啟動(dòng)SSH服務(wù)
1.鍵入如下命令:
/etc/init.d/ssh start
重啟命令與關(guān)閉命令如下:
/etc/init.d/ssh restart #重啟SSH服務(wù)
/etc/init.d/ssh stop #關(guān)閉SSH服務(wù)
查看進(jìn)程,檢查是否啟動(dòng)成功,鍵入如下命令:
ps -e | grep sshd
配置root用戶SSH服務(wù)

Ubuntu中SSH服務(wù)安裝完成后查看是否允許root用戶登陸,若不允許則無法遠(yuǎn)程登陸root用戶,需要修改配置
1.首先,打開“/etc/ssh/sshd_config”
gedit /etc/ssh/sshd_config
2.查看是否有“PermitRootLogin yes”,沒有添加即可,完成后保存退出
解決進(jìn)程問題
sudo rm -r -f /var/lib/dpkg/lock
sudo rm -r -f /var/lib/dpkg/lock-frontend

安裝vim
sudo apt-get install vim
為當(dāng)前用戶設(shè)置權(quán)限
sudo chown -R 當(dāng)前用戶名 ./hadoop
軟件安裝注意?。。∠冉鈮汉密浖?,再去到解壓后所在目錄在開始運(yùn)行安裝命令
大數(shù)據(jù)實(shí)驗(yàn)軟件安裝詳細(xì)過程參考:
Linux操作系統(tǒng)的安裝:https://dblab.xmu.edu.cn/blog/285/
Hadoop安裝教程:https://dblab.xmu.edu.cn/blog/7/
MySQL的安裝:https://dblab.xmu.edu.cn/blog/1002/
HBase的安裝:https://dblab.xmu.edu.cn/blog/588/
Hive的安裝:https://dblab.xmu.edu.cn/blog/1080/
Sqoop的安裝:https://dblab.xmu.edu.cn/blog/1015/

2.安裝Hadoop;
Hadoop安裝教程參考https://dblab.xmu.edu.cn/blog/7/

我們選擇將 Hadoop 安裝至 /usr/local/ 中:
cd /home/hadoop/a
sudo tar -zxvf hadoop-2.7.1.tar.gz -C /usr/local # 解壓到/usr/local中
cd /usr/local/
sudo mv hadoop-2.7.1/ ./hadoop
sudo chown -R hadoop /hadoop # 修改文件權(quán)限
Shell 命令
Hadoop 解壓后即可使用。輸入如下命令來檢查 Hadoop 是否可用,成功則會(huì)顯示 Hadoop 版本信息:
cd /usr/local/hadoop
./bin/hadoop version

安裝與啟動(dòng)
ssh localhost
cd /usr/local/hadoop
./sbin/start-dfs.sh
大數(shù)據(jù)期末課程設(shè)計(jì)實(shí)驗(yàn)案例:網(wǎng)站用戶行為分析

3.安裝MySQL;
詳細(xì)參考:https://dblab.xmu.edu.cn/blog/1002/
sudo apt-get update #更新軟件源
sudo apt-get install mysql-server #安裝mysql
啟動(dòng)和關(guān)閉mysql服務(wù)器:
service mysql start
密碼:123
service mysql stop

確認(rèn)是否啟動(dòng)成功,mysql節(jié)點(diǎn)處于LISTEN狀態(tài)表示啟動(dòng)成功:
sudo netstat -tap | grep mysql
啟動(dòng):service mysql start
sudo netstat -tap | grep mysql
mysql -u root -p
大數(shù)據(jù)期末課程設(shè)計(jì)實(shí)驗(yàn)案例:網(wǎng)站用戶行為分析

4.安裝HBase;
詳細(xì)參考:https://dblab.xmu.edu.cn/blog/588/

1.1 解壓安裝包hbase-1.1.2-bin.tar.gz放至路徑 /usr/local,命令如下:
cd /home/hadoop/a

sudo tar -zxf hbase-1.1.5-bin.tar.gz -C /usr/local

Shell 命令
1.2 將解壓的文件名hbase-1.1.2改為hbase,以方便使用,命令如下:
cd /usr/local

sudo mv /usr/local/ hbase-1.1.5 /usr/local/hbase

1.3 配置環(huán)境變量
將hbase下的bin目錄添加到path中,這樣,啟動(dòng)hbase就無需到/usr/local/hbase目錄下,大大的方便了hbase的使用。教程下面的部分還是切換到了/usr/local/hbase目錄操作,有助于初學(xué)者理解運(yùn)行過程,熟練之后可以不必切換。
編輯~/.bashrc文件加入如下內(nèi)容

vi ~/.bashrc

export PATH=$PATH:/usr/local/hbase/bin
保存后退出
再執(zhí)行source命令使上述配置在當(dāng)前終端立即生效
source ~/.bashrc

4 添加HBase權(quán)限

cd /usr/local
sudo chown -R hadoop ./hbase
#將hbase下的所有文件的所有者改為hadoop,hadoop是當(dāng)前用戶的用戶名。
啟動(dòng)測(cè)試
cd /usr/local/hbase
bin/start-hbase.sh
大數(shù)據(jù)期末課程設(shè)計(jì)實(shí)驗(yàn)案例:網(wǎng)站用戶行為分析

2.2 偽分布式模式配置
1.配置/usr/local/hbase/conf/hbase-env.sh。命令如下:

vi /usr/local/hbase/conf/hbase-env.sh
Shell 命令
配置JAVA_HOME,HBASE_CLASSPATH,HBASE_MANAGES_ZK.
HBASE_CLASSPATH設(shè)置為本機(jī)Hadoop安裝目錄下的conf目錄(即/usr/local/hadoop/conf)
vim /usr/local/hadoop/conf
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
export HBASE_CLASSPATH=/usr/local/hadoop/conf
export HBASE_MANAGES_ZK=true

2.配置/usr/local/hbase/conf/hbase-site.xml
用命令vi打開并編輯hbase-site.xml,命令如下:

vi /usr/local/hbase/conf/hbase-site.xml

hbase.rootdir hdfs://localhost:9000/hbase hbase.cluster.distributed true 接下來測(cè)試運(yùn)行HBase。 第一步:首先登陸ssh,之前設(shè)置了無密碼登陸,因此這里不需要密碼;再切換目錄至/usr/local/hadoop ;再啟動(dòng)hadoop,如果已經(jīng)啟動(dòng)hadoop請(qǐng)?zhí)^此步驟。命令如下: ssh localhost cd /usr/local/hadoop ./sbin/start-dfs.sh 切換目錄至/usr/local/hbase;再啟動(dòng)HBase.命令如下: cd /usr/local/hbase bin/start-hbase.sh 進(jìn)入shell界面: bin/hbase shell 停止HBase運(yùn)行,命令如下: bin/stop-hbase.sh

5.安裝Hive;啟動(dòng)驗(yàn)證
詳細(xì)過程參考Hive的安裝:https://dblab.xmu.edu.cn/blog/1080/
cd /home/hadoop/a

先把軟件解壓到/usr/local中,再執(zhí)行如下操作,這里不做演示了,接著如下

cd /usr/local/
sudo mv apache-hive-3.1.2-bin hive # 將文件夾名改為hive
sudo chown -R dblab:dblab hive # 修改文件權(quán)限

vim編輯器打開.bashrc文件,命令如下:
vim ~/.bashrc
在該文件最前面一行添加如下內(nèi)容:
export HIVE_HOME=/usr/local/hive
export PATH= P A T H : PATH: PATH:HIVE_HOME/bin
export HADOOP_HOME=/usr/local/hadoop

HADOOP_HOME需要被配置成你機(jī)器上Hadoop的安裝路徑,比如這里是安裝在/usr/local./hadoop目錄。
保存退出后,運(yùn)行如下命令使配置立即生效:
source ~/.bashrc
修改/usr/local/hive/conf下的hive-site.xml
執(zhí)行如下命令:
cd /usr/local/hive/conf
sudo mv hive-default.xml.template hive-default.xml
使用vim編輯器新建一個(gè)配置文件hive-site.xml,命令如下:
cd /usr/local/hive/conf
sudo vim hive-site.xml

在hive-site.xml中添加如下配置信息:

<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> javax.jdo.option.ConnectionURL jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true JDBC connect string for a JDBC metastore javax.jdo.option.ConnectionDriverName com.mysql.jdbc.Driver Driver class name for a JDBC metastore javax.jdo.option.ConnectionUserName hive username to use against metastore database javax.jdo.option.ConnectionPassword hive password to use against metastore database 然后,按鍵盤上的“ESC”鍵退出vim編輯狀態(tài),再輸入:wq,保存并退出vim編輯器。

#將mysql-connector-java-5.1.40-bin.jar拷貝到/usr/local/hive/lib目錄下 解壓后
cd /自己軟件壓縮包的位置
sudo tar -zxvf mysql-connector-java-5.1.40.tar.gz

Sudo cp/home/hadoop/Desktop/mysql-connector-java-5.1.40/mysql-connector-java-5.1.40-bin.jar /usr/local/hive/lib
大數(shù)據(jù)期末課程設(shè)計(jì)實(shí)驗(yàn)案例:網(wǎng)站用戶行為分析

cd /usr/local/hive/lib

3.啟動(dòng)并登陸mysql
sudo service mysql start #啟動(dòng)mysql服務(wù)
mysql -u root -p #登陸shell界面
密碼:123

在終端上輸入以下命令重啟MySQL:

sudo /etc/init.d/mysql stop
sudo /etc/init.d/mysql start

service mysql start #啟動(dòng)mysql服務(wù)
mysql -u root -p #登陸shell界面

  1. 新建hive數(shù)據(jù)庫。

mysql> create database hive; #這個(gè)hive數(shù)據(jù)庫與hive-site.xml中l(wèi)ocalhost:3306/hive的hive對(duì)應(yīng),用來保存hive元數(shù)據(jù)
mysql
5. 配置mysql允許hive接入:
先刷新一下權(quán)限表。
mysql> flush privileges;
mysql> grant all on . to hive@localhost identified by ‘hive’; #將所有數(shù)據(jù)庫的所有表的所有權(quán)限賦給hive用戶,后面的hive是配置hive-site.xml中配置的連接密碼
mysql> flush privileges; #刷新mysql系統(tǒng)權(quán)限關(guān)系表
注意!??!
啟動(dòng)hive之前,請(qǐng)先啟動(dòng)hadoop集群。
驗(yàn)證
cd /usr/local/hadoop
./sbin/start-all.sh
cd /usr/local/hive
./bin/hive
大數(shù)據(jù)期末課程設(shè)計(jì)實(shí)驗(yàn)案例:網(wǎng)站用戶行為分析

然后,執(zhí)行jps命令看一下當(dāng)前運(yùn)行的進(jìn)程:
1.jps
如果出現(xiàn)下面這些進(jìn)程,說明Hadoop啟動(dòng)成功了。
3765 NodeManager
3639 ResourceManager
3800 Jps
3261 DataNode
3134 NameNode
3471 SecondaryNameNode

6.安裝Sqoop;
詳細(xì)參考Sqoop的安裝:https://dblab.xmu.edu.cn/blog/1015/
cd /home/hadoop/a

sudo tar -zxvf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz -C /usr/local #解壓安裝文件
cd /usr/local
sudo mv sqoop-1.4.6.bin__hadoop-2.0.4-alpha sqoop #修改文件名
sudo chown -R hadoop:hadoop sqoop #修改文件夾屬主,如果你當(dāng)前登錄用戶名不是hadoop,
請(qǐng)修改成你自己的用戶名
2. 修改配置文件sqoop-env.sh

cd sqoop/conf/

cat sqoop-env-template.sh >> sqoop-env.sh
#將sqoop-env-template.sh復(fù)制一份并命名為sqoop-env.sh
vim sqoop-env.sh
#編輯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

  1. 配置環(huán)境變量
    打開當(dāng)前用戶的環(huán)境變量配置文件:
    vim ~/.bashrc
    在配置文件第一行鍵入如下信息:
    export SQOOP_HOME=/usr/local/sqoop
    export PATH= P A T H : PATH: PATH:SBT_HOME/bin: S Q O O P H O M E / b i n e x p o r t C L A S S P A T H = SQOOP_HOME/bin export CLASSPATH= SQOOPH?OME/binexportCLASSPATH=CLASSPATH:$SQOOP_HOME/lib
    執(zhí)行下面命令讓配置文件立即生效:
    source ~/.bashrc

將mysql驅(qū)動(dòng)包拷貝到 S Q O O P H O M E / l i b 下 面 要 把 M y S Q L 驅(qū) 動(dòng) 程 序 拷 貝 到 SQOOP_HOME/lib 下面要把MySQL驅(qū)動(dòng)程序拷貝到 SQOOPH?OME/libMySQL驅(qū)動(dòng)SQOOP_HOME/lib目錄下,首先請(qǐng)?jiān)贚inux系統(tǒng)的瀏覽器中請(qǐng)點(diǎn)擊mysql驅(qū)動(dòng)包下載地址下載驅(qū)動(dòng)包。下載后,一般文件會(huì)被瀏覽器默認(rèn)放置在當(dāng)前用戶的下載目錄下,本教程采用hadoop用戶登錄Linux系統(tǒng),因此,下載文件被默認(rèn)放置在“/home/hadoop/下載”目錄下面。
下面執(zhí)行命令拷貝文件:
去到軟件所在目錄
cd /home/hadoop/a
#解壓mysql驅(qū)動(dòng)包

sudo tar -zxvf mysql-connector-java-5.1.40.tar.gz
#解壓mysql驅(qū)動(dòng)包
ls #這時(shí)就可以看到解壓縮后得到的目錄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

cd /usr/local/sqoop/lib

測(cè)試與MySQL的連接

首先請(qǐng)確保mysql服務(wù)已經(jīng)啟動(dòng)了,如果沒有啟動(dòng),請(qǐng)執(zhí)行下面命令啟動(dòng):
service mysql start
密碼:123
然后就可以測(cè)試sqoop與MySQL之間的連接是否成功:
測(cè)試sqoop與MySQL之間的連接是否成功:

sqoop list-databases --connect jdbc:mysql://127.0.0.1:3306/ --username root -P
大數(shù)據(jù)期末課程設(shè)計(jì)實(shí)驗(yàn)案例:網(wǎng)站用戶行為分析

7.安裝R;(這里有時(shí)遇到問題自己都解決不了)Ubuntu 18 版本這里的問題實(shí)在沒法解決?。?br> 利用vim打開/etc/apt/sources.list文件
1.sudo vim /etc/apt/sources.list
在文件的最后一行添加廈門大學(xué)的鏡像源:
deb http://mirrors.tuna.tsinghua.edu.cn/CRAN/bin/linux/ubuntu/ trusty/
退出vim,更新軟件源列表
1.sudo apt-get update

如果更新軟件源出現(xiàn)由于沒有公鑰,無法驗(yàn)證下列簽名的錯(cuò)誤,請(qǐng)執(zhí)行如下命令: sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 51716619E084DAB9
安裝R語言
1.sudo apt-get install r-base
Shell 命令
會(huì)提示“您希望繼續(xù)執(zhí)行嗎?[Y/n]”,可以直接鍵盤輸入“Y”,就可以順利安裝結(jié)束。
安裝結(jié)束后,可以執(zhí)行下面命令啟動(dòng)R:
1.R
啟動(dòng)后,會(huì)顯示如下信息,并進(jìn)入“>”命令提示符狀態(tài):
R version 3.3.2 (2016-10-31) – “Sincere Pumpkin Patch”
Copyright ? 2016 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R是自由軟件,不帶任何擔(dān)保。
在某些條件下你可以將其自由散布。
用’license()'或’licence()'來看散布的詳細(xì)條件。

R是個(gè)合作計(jì)劃,有許多人為之做出了貢獻(xiàn).
用’contributors()'來看合作者的詳細(xì)情況
用’citation()'會(huì)告訴你如何在出版物中正確地引用R或R程序包。

用’demo()'來看一些示范程序,用’help()'來閱讀在線幫助文件,或
用’help.start()'通過HTML瀏覽器來看幫助文件。
用’q()'退出R.
“>”就是R的命令提示符,你可以在后面輸入R語言命令。
可以執(zhí)行下面命令退出R:
1.>q()
大數(shù)據(jù)期末課程設(shè)計(jì)實(shí)驗(yàn)案例:網(wǎng)站用戶行為分析

  1. 安裝Eclipse

大數(shù)據(jù)期末課程設(shè)計(jì)實(shí)驗(yàn)案例:網(wǎng)站用戶行為分析

本地?cái)?shù)據(jù)集上傳到數(shù)據(jù)倉庫Hive
user.zip下載地址:https://pan.baidu.com/s/1nuOSo7B

首先建立一個(gè)用于運(yùn)行本案例的目錄bigdatacase
如果你把user.zip下載到了其他目錄,這里請(qǐng)進(jìn)入到你自己的存放user.zip的目錄。
下面需要把user.zip進(jìn)行解壓縮,我們需要首先建立一個(gè)用于運(yùn)行本案例的目錄bigdatacase
請(qǐng)執(zhí)行以下命令:user.zip注意自己的文件目錄
1.cd /usr/local
2.ls
3.sudo mkdir bigdatacase
4.//這里會(huì)提示你輸入當(dāng)前用戶(本教程是hadoop用戶名)的密碼

5.//下面給hadoop用戶賦予針對(duì)bigdatacase目錄的各種操作權(quán)限
6.sudo chown -R hadoop:hadoop ./bigdatacase
7.cd bigdatacase
8.//下面創(chuàng)建一個(gè)dataset目錄,用于保存數(shù)據(jù)集
9.mkdir dataset
10.//下面就可以解壓縮user.zip文件
11.cd ~ //表示進(jìn)入hadoop用戶的目錄
12.cd 下載
13.ls
14.unzip user.zip -d /usr/local/bigdatacase/dataset
15.cd /usr/local/bigdatacase/dataset
16.ls
大數(shù)據(jù)期末課程設(shè)計(jì)實(shí)驗(yàn)案例:網(wǎng)站用戶行為分析

raw_user.csv和small_user.csv。
我們執(zhí)行下面命令取出前面5條記錄看一下:
head -5 raw_user.csv

大數(shù)據(jù)期末課程設(shè)計(jì)實(shí)驗(yàn)案例:網(wǎng)站用戶行為分析

數(shù)據(jù)集的預(yù)處理詳細(xì)參考:https://dblab.xmu.edu.cn/blog/959/

1.刪除文件第一行記錄,即字段名稱
raw_user和small_user中的第一行都是字段名稱,我們?cè)谖募械臄?shù)據(jù)導(dǎo)入到數(shù)據(jù)倉庫Hive中時(shí),不需要第一行字段名稱,因此,這里在做數(shù)據(jù)預(yù)處理時(shí),刪除第一行
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
可以看出,每行記錄都包含5個(gè)字段,數(shù)據(jù)集中的字段及其含義如下:
大數(shù)據(jù)期末課程設(shè)計(jì)實(shí)驗(yàn)案例:網(wǎng)站用戶行為分析

user_id(用戶id)
item_id(商品id)
behaviour_type(包括瀏覽、收藏、加購物車、購買,對(duì)應(yīng)取值分別是1、2、3、4)
user_geohash(用戶地理位置哈希值,有些記錄中沒有這個(gè)字段值,所以后面我們會(huì)用腳本做數(shù)據(jù)預(yù)處理時(shí)把這個(gè)字段全部刪除)
item_category(商品分類)
time(該記錄產(chǎn)生時(shí)間)

2.對(duì)字段進(jìn)行預(yù)處理

下面對(duì)數(shù)據(jù)集進(jìn)行一些預(yù)處理,包括為每行記錄增加一個(gè)id字段(讓記錄具有唯一性)、增加一個(gè)省份字段(用來后續(xù)進(jìn)行可視化分析),并且丟棄user_geohash字段(后面分析不需要這個(gè)字段)。
下面我們要建一個(gè)腳本文件pre_deal.sh,請(qǐng)把這個(gè)腳本文件放在dataset目錄下,和數(shù)據(jù)集small_user.csv放在同一個(gè)目錄下:
cd /usr/local/bigdatacase/dataset
vim pre_deal.sh
上面使用vim編輯器新建了一個(gè)pre_deal.sh腳本文件,請(qǐng)?jiān)谶@個(gè)腳本文件中加入下面代碼:
(Word文檔導(dǎo)致部分代碼可能出錯(cuò)參考https://dblab.xmu.edu.cn/blog/959/

#!/bin/bash
#下面設(shè)置輸入文件,把用戶執(zhí)行pre_deal.sh命令時(shí)提供的第一個(gè)參數(shù)作為輸入文件名稱
infile=$1
#下面設(shè)置輸出文件,把用戶執(zhí)行pre_deal.sh命令時(shí)提供的第二個(gè)參數(shù)作為輸出文件名稱
outfile=KaTeX parse error: Expected 'EOF', got '#' at position 3: 2 #?注意!!最后的infile > $outfile必須跟在}’這兩個(gè)字符的后面
awk -F “,” ‘BEGIN{
srand();
id=0;
Province[0]=“山東”;Province[1]=“山西”;Province[2]=“河南”;Province[3]=“河北”;Province[4]=“陜西”;Province[5]=“內(nèi)蒙古”;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]=“臺(tái)灣”;
}
{
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
輸入后查看
大數(shù)據(jù)期末課程設(shè)計(jì)實(shí)驗(yàn)案例:網(wǎng)站用戶行為分析

上面的代碼的基本形式是:
awk -F “,” ‘處理邏輯’ $infile > $outfile
使用awk可以逐行讀取輸入文件,并對(duì)逐行進(jìn)行相應(yīng)操作。

下面就可以執(zhí)行pre_deal.sh腳本文件,來對(duì)small_user.csv進(jìn)行數(shù)據(jù)預(yù)處理,命令如下:
cd /usr/local/bigdatacase/dataset
bash ./pre_deal.sh small_user.csv user_table.txt
可以使用head命令查看生成的user_table.txt,不要直接打開,文件過大,會(huì)出錯(cuò),下面查看前10行數(shù)據(jù):

head -10 user_table.txt
大數(shù)據(jù)期末課程設(shè)計(jì)實(shí)驗(yàn)案例:網(wǎng)站用戶行為分析

a.啟動(dòng)HDFS

請(qǐng)登錄Linux系統(tǒng),打開一個(gè)終端,執(zhí)行下面命令啟動(dòng)Hadoop:

cd /usr/local/hadoop
./sbin/start-all.sh
Shell 命令
然后,執(zhí)行jps命令看一下當(dāng)前運(yùn)行的進(jìn)程:

jps
如果出現(xiàn)下面這些進(jìn)程,說明Hadoop啟動(dòng)成功了。

3765 NodeManager
3639 ResourceManager
3800 Jps
3261 DataNode
3134 NameNode
3471 SecondaryNameNode

b.把user_table.txt上傳到HDFS中
現(xiàn)在,我們要把Linux本地文件系統(tǒng)中的user_table.txt上傳到分布式文件系統(tǒng)HDFS中,存放在HDFS中的“/bigdatacase/dataset”目錄下。
首先,請(qǐng)執(zhí)行下面命令,在HDFS的根目錄下面創(chuàng)建一個(gè)新的目錄bigdatacase,并在這個(gè)目錄下創(chuàng)建一個(gè)子目錄dataset,如下:

cd /usr/local/hadoop
./bin/hdfs dfs -mkdir -p /bigdatacase/dataset
然后,把Linux本地文件系統(tǒng)中的user_table.txt上傳到分布式文件系統(tǒng)HDFS的“/bigdatacase/dataset”目錄下,命令如下:

cd /usr/local/hadoop
./bin/hdfs dfs -put /usr/local/bigdatacase/dataset/user_table.txt /bigdatacase/dataset
下面可以查看一下HDFS中的user_table.txt的前10條記錄,命令如下:

cd /usr/local/hadoop
./bin/hdfs dfs -cat /bigdatacase/dataset/user_table.txt | head -10

大數(shù)據(jù)期末課程設(shè)計(jì)實(shí)驗(yàn)案例:網(wǎng)站用戶行為分析

c.在Hive上創(chuàng)建數(shù)據(jù)庫
下面,請(qǐng)?jiān)贚inux系統(tǒng)中,再新建一個(gè)終端(可以在剛才已經(jīng)建好的終端界面的左上角,點(diǎn)擊“終端”菜單,在彈出的子菜單中選擇“新建終端”)。因?yàn)樾枰柚贛ySQL保存Hive的元數(shù)據(jù),所以,請(qǐng)首先啟動(dòng)MySQL數(shù)據(jù)庫:
啟動(dòng)MySQL
service mysql start //可以在Linux的任何目錄下執(zhí)行該命令

由于Hive是基于Hadoop的數(shù)據(jù)倉庫,使用HiveQL語言撰寫的查詢語句,最終都會(huì)被Hive自動(dòng)解析成MapReduce任務(wù)由Hadoop去具體執(zhí)行,因此,需要啟動(dòng)Hadoop,然后再啟動(dòng)Hive。由于前面我們已經(jīng)啟動(dòng)了Hadoop,所以,這里不需要再次啟動(dòng)Hadoop。下面,在這個(gè)新的終端中執(zhí)行下面命令進(jìn)入Hive:
啟動(dòng)Hive

cd /usr/local/hive
./bin/hive
大數(shù)據(jù)期末課程設(shè)計(jì)實(shí)驗(yàn)案例:網(wǎng)站用戶行為分析

啟動(dòng)成功以后,就進(jìn)入了“hive>”命令提示符狀態(tài),可以輸入類似SQL語句的HiveQL語句。
hive> create database dblab;
hive> use dblab;
hive
d.創(chuàng)建外部表
關(guān)于數(shù)據(jù)倉庫Hive的內(nèi)部表和外部表的區(qū)別,請(qǐng)?jiān)L問網(wǎng)絡(luò)文章《Hive內(nèi)部表與外部表的區(qū)別》。本教程采用外部表方式。
這里我們要在數(shù)據(jù)庫dblab中創(chuàng)建一個(gè)外部表bigdata_user,它包含字段(id, uid, item_id, behavior_type, item_category, date, province),請(qǐng)?jiān)趆ive命令提示符下輸入如下命令:

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 xmu dblab!’ ROW FORMAT DELIMITED FIELDS TERMINATED BY ‘\t’ STORED AS TEXTFILE LOCATION ‘/bigdatacase/dataset’;
hive
對(duì)于這條語句中LOCATION參數(shù)的含義如果有疑問,可以閱讀博客《關(guān)于數(shù)據(jù)倉庫Hive建表時(shí)的LOCATION參數(shù)問題》。
e.查詢數(shù)據(jù)
上面已經(jīng)成功把HDFS中的“/bigdatacase/dataset”目錄下的數(shù)據(jù)加載到了數(shù)據(jù)倉庫Hive中,我們現(xiàn)在可以使用下面命令查詢一下:
hive> select * from bigdata_user limit 10;
大數(shù)據(jù)期末課程設(shè)計(jì)實(shí)驗(yàn)案例:網(wǎng)站用戶行為分析

hive> select behavior_type from bigdata_user limit 10;
大數(shù)據(jù)期末課程設(shè)計(jì)實(shí)驗(yàn)案例:網(wǎng)站用戶行為分析

Hive數(shù)據(jù)分析參考:https://dblab.xmu.edu.cn/blog/1005/
操作Hive
請(qǐng)登錄Linux系統(tǒng)(本教程統(tǒng)一采用hadoop用戶名登錄系統(tǒng)),然后,打開一個(gè)終端(可以按快捷鍵Ctrl+Alt+T)。
本教程中,Hadoop的安裝目錄是“/usr/local/hadoop”,Hive的安裝目錄是“/usr/local/hive”。
因?yàn)樾枰柚贛ySQL保存Hive的元數(shù)據(jù),所以,請(qǐng)首先啟動(dòng)MySQL數(shù)據(jù)庫,請(qǐng)?jiān)诮K端中輸入下面命令:

service mysql start //可以在Linux的任何目錄下執(zhí)行該命令

請(qǐng)執(zhí)行下面命令啟動(dòng)Hadoop(如果你已經(jīng)啟動(dòng)了Hadoop就不用再次啟動(dòng)了):

cd /usr/local/hadoop
./sbin/start-all.sh
執(zhí)行jps命令看一下當(dāng)前運(yùn)行的進(jìn)程:
jps
繼續(xù)執(zhí)行下面命令啟動(dòng)進(jìn)入Hive:

cd /usr/local/hive
./bin/hive //啟動(dòng)Hive
在“hive>”命令提示符狀態(tài)下執(zhí)行下面命令:

hive> use dblab; //使用dblab數(shù)據(jù)庫
hive> show tables; //顯示數(shù)據(jù)庫中所有表。
hive> show create table bigdata_user; //查看bigdata_user表的各種屬性;

執(zhí)行部分結(jié)果如下:
大數(shù)據(jù)期末課程設(shè)計(jì)實(shí)驗(yàn)案例:網(wǎng)站用戶行為分析

可以執(zhí)行下面命令查看表的簡(jiǎn)單結(jié)構(gòu):

hive> desc bigdata_user;
執(zhí)行部分結(jié)果如下:
大數(shù)據(jù)期末課程設(shè)計(jì)實(shí)驗(yàn)案例:網(wǎng)站用戶行為分析

二、簡(jiǎn)單查詢分析
先測(cè)試一下簡(jiǎn)單的指令:
hive> select behavior_type from bigdata_user limit 10;//查看前10位用戶對(duì)商品的行為
執(zhí)行部分結(jié)果如下:
大數(shù)據(jù)期末課程設(shè)計(jì)實(shí)驗(yàn)案例:網(wǎng)站用戶行為分析

三、查詢條數(shù)統(tǒng)計(jì)分析
(1)用聚合函數(shù)count()計(jì)算出表內(nèi)有多少條行數(shù)據(jù)
hive> select count(*) from bigdata_user;//用聚合函數(shù)count()計(jì)算出表內(nèi)有多少條行數(shù)據(jù)
執(zhí)行結(jié)果部分如下:
大數(shù)據(jù)期末課程設(shè)計(jì)實(shí)驗(yàn)案例:網(wǎng)站用戶行為分析

可視化分析MySQL中的數(shù)據(jù)
(按步驟操作,這里要先快照備份,有可能會(huì)出錯(cuò)自己解決不了,否則前功盡棄)
安裝依賴庫
為了完成可視化功能,我們需要為R安裝一些依賴庫,包括:RMySQL、ggplot2、devtools和recharts。
RMySQL是一個(gè)提供了訪問MySQL數(shù)據(jù)庫的R語言接口程序的R語言依賴庫。
ggplot2和recharts則是R語言中提供繪圖可視化功能的依賴庫。
請(qǐng)啟動(dòng)R進(jìn)入R命令提示符狀態(tài),執(zhí)行如下命令安裝RMySQL:
1.> install.packages(‘RMySQL’)
R
上面命令執(zhí)行后, 屏幕會(huì)提示"Would you like to user a personal library instead?(y/n)"等問題,只要遇到提問,都在鍵盤輸入y后回車即可。然后,屏幕會(huì)顯示“—在此連線階段時(shí)請(qǐng)選用CRAN的鏡子—”,并會(huì)彈出一個(gè)白色背景的豎條形窗口,窗口標(biāo)題是“HTTPS CRAN mirros”,標(biāo)題下面列出了很多國家的鏡像列表,我們可以選擇位于China的鏡像,比如,選擇“China(Beijing)[https]”,然后點(diǎn)擊“ok”按鈕,就開始安裝了。安裝過程需要幾分鐘(當(dāng)然,也和當(dāng)前網(wǎng)絡(luò)速度有關(guān)系)。
由于不同用戶的Ubuntu開發(fā)環(huán)境不一樣,安裝有很大可能因?yàn)槿鄙俳M件導(dǎo)致失敗,如果出現(xiàn)如下錯(cuò)誤信息:
Configuration failed because libmysqlclient was not found. Try installing:

  • deb: libmariadb-client-lgpl-dev (Debian, Ubuntu 16.04)
    libmariadbclient-dev (Ubuntu 14.04)
  • rpm: mariadb-devel | mysql-devel (Fedora, CentOS, RHEL)
  • csw: mysql56_dev (Solaris)
  • brew: mariadb-connector-c (OSX)

    ERROR: configuration failed for package ‘RMySQL’
  • removing ‘/home/hadoop/R/x86_64-pc-linux-gnu-library/3.3/RMySQL’

下載的程序包在‘/tmp/RtmpvEArxz/downloaded_packages’里
Warning message:
In install.packages(“RMySQL”) : 安裝程序包‘RMySQL’時(shí)退出狀態(tài)的值不是0
只要根據(jù)錯(cuò)誤給出的錯(cuò)誤信息,進(jìn)行操作即可。q()退出R命令提示符狀態(tài),回到Shell狀態(tài),筆者的系統(tǒng)是Ubuntu 16.04,那么,根據(jù)上面的英文錯(cuò)誤信息,就需要在Shell命令提示符狀態(tài)下執(zhí)行下面命令安裝libmariadb-client-lgpl-dev:
1.sudo apt-get install libmariadb-client-lgpl-dev
然后,再次輸入下面命令進(jìn)入R命令提示符狀態(tài):
1.R
啟動(dòng)后,并進(jìn)入“>”命令提示符狀態(tài)。然后,執(zhí)行如下命令安裝繪圖包ggplot2,如果還出現(xiàn)缺少組件的錯(cuò)誤,請(qǐng)按照上面的解決方案解決!
1.> install.packages(‘ggplot2’)
R
然后,屏幕會(huì)顯示“—在此連線階段時(shí)請(qǐng)選用CRAN的鏡子—”,并會(huì)彈出一個(gè)白色背景的豎條形窗口,窗口標(biāo)題是“HTTPS CRAN mirros”,標(biāo)題下面列出了很多國家的鏡像列表,我們可以選擇位于China的鏡像,比如,選擇“China(Beijing)[https]”,然后點(diǎn)擊“ok”按鈕,就開始安裝了。這個(gè)命令運(yùn)行后,大概需要安裝10分鐘時(shí)間(當(dāng)然,也和當(dāng)前網(wǎng)絡(luò)速度有關(guān)系)。
下面繼續(xù)運(yùn)行下面命令安裝devtools:
1.> install.packages(‘devtools’)
R
如果在上面安裝devtools的過程中,又出現(xiàn)了錯(cuò)誤,處理方法很簡(jiǎn)單,還是按照上面介紹的方法,根據(jù)屏幕上給出的英文錯(cuò)誤信息,缺少什么軟件,就用sudo apt-get install命令安裝該軟件就可以了。筆者在Ubuntu16.04上執(zhí)行devtools安裝時(shí),出現(xiàn)了三次錯(cuò)誤,筆者根據(jù)每次錯(cuò)誤的英文提示信息,安裝了三個(gè)軟件libssl-dev、libssh2-1-dev、libcurl4-openssl-dev,安裝命令如下:
1.sudo apt-get install libssl-dev
2.sudo apt-get install libssh2-1-dev
3.sudo apt-get install libcurl4-openssl-dev
Shell 命令
讀者在安裝過程中,可能會(huì)出現(xiàn)不同的錯(cuò)誤,按照同樣的處理方法可以順利解決。
下面在R命令提示符下再執(zhí)行如下命令安裝taiyun/recharts:
1.> devtools::install_github(‘taiyun/recharts’)

結(jié)果測(cè)試與效果演示步驟
ssh localhost
cd /usr/local/hadoop
./sbin/start-dfs.sh
大數(shù)據(jù)期末課程設(shè)計(jì)實(shí)驗(yàn)案例:網(wǎng)站用戶行為分析

MySQL
service mysql start
sudo netstat -tap | grep mysql
mysql -u root -p
密碼:123
大數(shù)據(jù)期末課程設(shè)計(jì)實(shí)驗(yàn)案例:網(wǎng)站用戶行為分析

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

大數(shù)據(jù)期末課程設(shè)計(jì)實(shí)驗(yàn)案例:網(wǎng)站用戶行為分析

cd /usr/local/hive
./bin/hive
大數(shù)據(jù)期末課程設(shè)計(jì)實(shí)驗(yàn)案例:網(wǎng)站用戶行為分析

jps
大數(shù)據(jù)期末課程設(shè)計(jì)實(shí)驗(yàn)案例:網(wǎng)站用戶行為分析

輸入 R
接著輸入如下
大數(shù)據(jù)期末課程設(shè)計(jì)實(shí)驗(yàn)案例:網(wǎng)站用戶行為分析

接著輸入
大數(shù)據(jù)期末課程設(shè)計(jì)實(shí)驗(yàn)案例:網(wǎng)站用戶行為分析

summary(user_action b e h a v i o r t y p e ) s u m m a r y ( a s . n u m e r i c ( u s e r a c t i o n behavior_type) summary(as.numeric(user_action behaviort?ype)summary(as.numeric(usera?ctionbehavior_type))
library(ggplot2)
ggplot(user_action,aes(as.numeric(behavior_type)))+geom_histogram()
大數(shù)據(jù)期末課程設(shè)計(jì)實(shí)驗(yàn)案例:網(wǎng)站用戶行為分析

結(jié)果展示

大數(shù)據(jù)期末課程設(shè)計(jì)實(shí)驗(yàn)案例:網(wǎng)站用戶行為分析

temp <- subset(user_action,as.numeric(behavior_type)==4) # 獲取子數(shù)據(jù)集
count <- sort(table(temp$item_category),decreasing = T) #排序
print(count[1:10]) # 獲取第1到10個(gè)排序結(jié)果
result <- as.data.frame(count[1:10]) #將count矩陣結(jié)果轉(zhuǎn)換成數(shù)據(jù)框
ggplot(result,aes(Var1,Freq,col=factor(Var1)))+geom_point()
大數(shù)據(jù)期末課程設(shè)計(jì)實(shí)驗(yàn)案例:網(wǎng)站用戶行為分析

month <- substr(user_action$visit_date,6,7) # visit_date變量中截取月份
user_action <- cbind(user_action,month) # user_action增加一列月份數(shù)據(jù)
ggplot(user_action,aes(as.numeric(behavior_type),col=factor(month)))+geom_histogram()+facet_grid(.~month)
大數(shù)據(jù)期末課程設(shè)計(jì)實(shí)驗(yàn)案例:網(wǎng)站用戶行為分析

library(recharts)
rel <- as.data.frame(table(temp p r o v i n c e ) ) p r o v i n c e s < ? r e l province)) provinces <- rel province))provinces<?relVar1
x = c()
for(n in provinces){
x[length(x)+1] = nrow(subset(temp,(province==n)))
}
mapData <- data.frame(province=rel$Var1,
count=x, stringsAsFactors=F) # 設(shè)置地圖信息
eMap(mapData, namevar=~province, datavar = ~count) #畫出中國地圖
大數(shù)據(jù)期末課程設(shè)計(jì)實(shí)驗(yàn)案例:網(wǎng)站用戶行為分析

驗(yàn)收效果展示與說明

大數(shù)據(jù)期末課程設(shè)計(jì)實(shí)驗(yàn)案例:網(wǎng)站用戶行為分析

大數(shù)據(jù)期末課程設(shè)計(jì)實(shí)驗(yàn)案例:網(wǎng)站用戶行為分析
大數(shù)據(jù)期末課程設(shè)計(jì)實(shí)驗(yàn)案例:網(wǎng)站用戶行為分析

大數(shù)據(jù)期末課程設(shè)計(jì)實(shí)驗(yàn)案例:網(wǎng)站用戶行為分析

大數(shù)據(jù)期末課程設(shè)計(jì)實(shí)驗(yàn)案例:網(wǎng)站用戶行為分析

測(cè)試演示命令匯總?cè)缦?br>大數(shù)據(jù)期末課程設(shè)計(jì)實(shí)驗(yàn)案例:網(wǎng)站用戶行為分析

大數(shù)據(jù)期末課程設(shè)計(jì)實(shí)驗(yàn)案例:網(wǎng)站用戶行為分析

以上是關(guān)鍵步驟匯總 參考:https://dblab.xmu.edu.cn/

Ubuntu 16.04 Linux空白模板(只含大數(shù)據(jù)軟件在桌面,可以在VM虛擬機(jī)導(dǎo)入使用)
這個(gè)空白Linux虛擬機(jī)模板,在VM導(dǎo)入即可使用可以在此模板,
自己可以在這個(gè)空白Linux虛擬機(jī)模板從頭開始搭建大數(shù)據(jù)課程實(shí)驗(yàn)案例:網(wǎng)站用戶行為分析。
重磅:大數(shù)據(jù)課程實(shí)驗(yàn)案例:網(wǎng)站用戶行為分析(免費(fèi)共享)鏈接如下:
https://dblab.xmu.edu.cn/

空白Linux虛擬機(jī)模板(只含大數(shù)據(jù)壓縮軟件包)

大數(shù)據(jù)期末課程設(shè)計(jì)實(shí)驗(yàn)案例:網(wǎng)站用戶行為分析

下載好就到導(dǎo)入空白Linux虛擬機(jī)模板
大數(shù)據(jù)期末課程設(shè)計(jì)實(shí)驗(yàn)案例:網(wǎng)站用戶行為分析

找到下載好模板的路徑選擇如下文件打開

大數(shù)據(jù)期末課程設(shè)計(jì)實(shí)驗(yàn)案例:網(wǎng)站用戶行為分析

大數(shù)據(jù)期末課程設(shè)計(jì)實(shí)驗(yàn)案例:網(wǎng)站用戶行為分析

重命名Ubuntu16.04 qjp
大數(shù)據(jù)期末課程設(shè)計(jì)實(shí)驗(yàn)案例:網(wǎng)站用戶行為分析

導(dǎo)入完成如下
大數(shù)據(jù)期末課程設(shè)計(jì)實(shí)驗(yàn)案例:網(wǎng)站用戶行為分析

開機(jī)之后如下
大數(shù)據(jù)期末課程設(shè)計(jì)實(shí)驗(yàn)案例:網(wǎng)站用戶行為分析

有需要Linux空白模板請(qǐng)告知
完整實(shí)驗(yàn)環(huán)境對(duì)外不提供,僅供個(gè)人學(xué)習(xí)使用。文章來源地址http://www.zghlxwxcb.cn/news/detail-449486.html

到了這里,關(guān)于大數(shù)據(jù)期末課程設(shè)計(jì)實(shí)驗(yàn)案例:網(wǎng)站用戶行為分析的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • web網(wǎng)頁設(shè)計(jì)期末課程大作業(yè) HTML+CSS+JavaScript 美食餐飲文化主題網(wǎng)站設(shè)計(jì) 學(xué)生DW靜態(tài)網(wǎng)頁設(shè)計(jì)

    web網(wǎng)頁設(shè)計(jì)期末課程大作業(yè) HTML+CSS+JavaScript 美食餐飲文化主題網(wǎng)站設(shè)計(jì) 學(xué)生DW靜態(tài)網(wǎng)頁設(shè)計(jì)

    ?? 精彩專欄推薦???????????? ?? 作者簡(jiǎn)介: 一個(gè)熱愛把邏輯思維轉(zhuǎn)變?yōu)榇a的技術(shù)博主 ?? 作者主頁: 【主頁——??獲取更多優(yōu)質(zhì)源碼】 ?? web前端期末大作業(yè): 【??畢設(shè)項(xiàng)目精品實(shí)戰(zhàn)案例 (1000套) 】 ?? 程序員有趣的告白方式:【??HTML七夕情人節(jié)表白網(wǎng)頁制作

    2024年02月08日
    瀏覽(26)
  • web前端網(wǎng)頁設(shè)計(jì)期末課程大作業(yè):旅游網(wǎng)頁主題網(wǎng)站設(shè)計(jì)——三亞旅游網(wǎng)頁設(shè)計(jì)(6個(gè)頁面) HTML+CSS+JavaScript

    web前端網(wǎng)頁設(shè)計(jì)期末課程大作業(yè):旅游網(wǎng)頁主題網(wǎng)站設(shè)計(jì)——三亞旅游網(wǎng)頁設(shè)計(jì)(6個(gè)頁面) HTML+CSS+JavaScript

    ?????學(xué)生HTML靜態(tài)網(wǎng)頁基礎(chǔ)水平制作?????,頁面排版干凈簡(jiǎn)潔。使用HTML+CSS頁面布局設(shè)計(jì),web大學(xué)生網(wǎng)頁設(shè)計(jì)作業(yè)源碼,這是一個(gè)不錯(cuò)的旅游網(wǎng)頁制作,畫面精明,排版整潔,內(nèi)容豐富,主題鮮明,非常適合初學(xué)者學(xué)習(xí)使用, 這個(gè)實(shí)例比較全面,有助于同學(xué)的學(xué)習(xí),本文將

    2024年02月03日
    瀏覽(28)
  • 基于Spark的電商用戶行為分析系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

    項(xiàng)目架構(gòu) Flume–Kafka–Spark Streaming–Mysql–FineReport 10 數(shù)據(jù)可視化使用第三方軟件FineReport支持 1. 數(shù)據(jù)采集:利用Java線程模擬行為數(shù)據(jù)寫入被監(jiān)控的文件 模擬電商網(wǎng)站用戶行為數(shù)據(jù)(也可與阿里云天池開源數(shù)據(jù)集:真實(shí)的淘寶或天貓用戶行為數(shù)據(jù)) flume實(shí)時(shí)監(jiān)控?cái)?shù)據(jù)文件,并將

    2024年02月04日
    瀏覽(22)
  • 基于Spark+Springboot的電商用戶行為分析系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)

    基于Spark+Springboot的電商用戶行為分析系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)

    博主介紹 : ? 全網(wǎng)粉絲30W+,csdn特邀作者、博客專家、CSDN新星計(jì)劃導(dǎo)師、Java領(lǐng)域優(yōu)質(zhì)創(chuàng)作者,博客之星、掘金/華為云/阿里云/InfoQ等平臺(tái)優(yōu)質(zhì)作者、專注于Java技術(shù)領(lǐng)域和學(xué)生畢業(yè)項(xiàng)目實(shí)戰(zhàn),高校老師/講師/同行交流合作 ? 主要內(nèi)容: SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、P

    2024年01月17日
    瀏覽(17)
  • Java設(shè)計(jì)模式之行為型-狀態(tài)模式(UML類圖+案例分析)

    Java設(shè)計(jì)模式之行為型-狀態(tài)模式(UML類圖+案例分析)

    目錄 一、基礎(chǔ)概念 二、UML類圖 三、角色設(shè)計(jì) 四、案例分析 五、總結(jié) 狀態(tài)模式允許一個(gè)對(duì)象在其內(nèi)部狀態(tài)改變時(shí)改變它的行為,對(duì)象看起來似乎修改了它的類,狀態(tài)模式主要解決的是當(dāng)控制一個(gè)對(duì)象狀態(tài)轉(zhuǎn)換的條件表達(dá)式過于復(fù)雜時(shí)的情況,把狀態(tài)的判斷邏輯轉(zhuǎn)移到表示不

    2024年02月16日
    瀏覽(20)
  • Java設(shè)計(jì)模式之行為型-命令模式(UML類圖+案例分析)

    Java設(shè)計(jì)模式之行為型-命令模式(UML類圖+案例分析)

    目錄 一、基礎(chǔ)概念 二、UML類圖 三、角色設(shè)計(jì) 四、案例分析 4.1、基本實(shí)現(xiàn) 4.2、點(diǎn)餐案例? 五、總結(jié) 1、將一個(gè)請(qǐng)求封裝為一個(gè)對(duì)象,使您可以用不同的請(qǐng)求對(duì)客戶進(jìn)行參數(shù)化。 2、對(duì)請(qǐng)求排隊(duì)或記錄請(qǐng)求日志,以及支持可撤銷的操作。 3、將命令對(duì)象與執(zhí)行命令的對(duì)象分離,

    2024年02月16日
    瀏覽(23)
  • 數(shù)倉用戶行為數(shù)據(jù)分析

    分層優(yōu)點(diǎn):復(fù)雜的東西可以簡(jiǎn)單化、解耦(屏蔽層作用)、提高復(fù)用、方便管理 SA 貼源? 數(shù)據(jù)組織結(jié)構(gòu)與源系統(tǒng)保持一致 shm 歷史層? 針對(duì)不同特征的數(shù)據(jù)做不同算法,目的都是為了得到一份完整的數(shù)據(jù) PDM 明細(xì)層 做最細(xì)粒度的數(shù)據(jù)明細(xì),最高擴(kuò)展性和靈活性,企業(yè)級(jí)的數(shù)據(jù)

    2024年02月08日
    瀏覽(22)
  • Java設(shè)計(jì)模式之行為型-迭代器模式(UML類圖+案例分析)

    Java設(shè)計(jì)模式之行為型-迭代器模式(UML類圖+案例分析)

    目錄 一、基礎(chǔ)概念 二、UML類圖 三、角色設(shè)計(jì) 四、案例分析 五、總結(jié) 迭代器模式是一種常用的設(shè)計(jì)模式,它主要用于遍歷集合對(duì)象,提供一種方法順序訪問一個(gè)聚合對(duì)象中的各個(gè)元素,而又不暴露該對(duì)象的內(nèi)部表示。 舉個(gè)簡(jiǎn)單的比喻,聚合對(duì)象像一個(gè)存放蘋果的籃子,迭代

    2024年02月16日
    瀏覽(63)
  • Java設(shè)計(jì)模式之行為型-責(zé)任鏈模式(UML類圖+案例分析)

    Java設(shè)計(jì)模式之行為型-責(zé)任鏈模式(UML類圖+案例分析)

    目錄 一、基礎(chǔ)概念 二、UML類圖 三、角色設(shè)計(jì) 四、案例分析 4.1、在Java中實(shí)現(xiàn) 4.2、在SpringBoot中實(shí)現(xiàn)? 五、總結(jié)? 責(zé)任鏈模式是一種行為設(shè)計(jì)模式,它允許你將請(qǐng)求沿著處理者鏈進(jìn)行發(fā)送。請(qǐng)求會(huì)被鏈上每個(gè)處理者處理,直到請(qǐng)求被處理完畢。該模式主要解決的是請(qǐng)求的發(fā)送者和

    2024年02月15日
    瀏覽(23)
  • 大數(shù)據(jù)畢設(shè)項(xiàng)目 - 大數(shù)據(jù)電商用戶行為分析 -python 大數(shù)據(jù)

    大數(shù)據(jù)畢設(shè)項(xiàng)目 - 大數(shù)據(jù)電商用戶行為分析 -python 大數(shù)據(jù)

    ?? 這兩年開始畢業(yè)設(shè)計(jì)和畢業(yè)答辯的要求和難度不斷提升,傳統(tǒng)的畢設(shè)題目缺少創(chuàng)新和亮點(diǎn),往往達(dá)不到畢業(yè)答辯的要求,這兩年不斷有學(xué)弟學(xué)妹告訴學(xué)長(zhǎng)自己做的項(xiàng)目系統(tǒng)達(dá)不到老師的要求。 為了大家能夠順利以及最少的精力通過畢設(shè),學(xué)長(zhǎng)分享優(yōu)質(zhì)畢業(yè)設(shè)計(jì)項(xiàng)目,今天

    2024年03月17日
    瀏覽(29)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包