專案 APP熱點標籤分析

2021-09-03 02:32:59 字數 2749 閱讀 6373

三、主要思路及難點

主要思路:

通過hive命令將資料加到資料倉儲中

使用hql+udf/udaf/udtf完成統計分析

將統計分析結果插入到hive中自建的新錶中

主要難點:

資料倉儲的目錄結構和開發規範

hive及hivesql常用命令

系統函式+udf/udaf/udtf靈活使用

hive常見問題的解決

開發過程:

技術點:shell指令碼、hive sql

開發規範:

1、配置項config

touch set_env.sh vi set_env.sh

#! /bin/bash   --告知這是乙個shell指令碼

hive='/usr/bin/hive' --建立hive變數,hive可執行檔案的位置

2、存放建立表的指令碼create(在linux視窗執行hive命令:hive  -e  」(hive命令)「)
#! /bin/bash

source ../config/set_env.sh #等價於hive='/usr/bin/hive'

db="job_002"

#引用某個變數使用$

$hive -e "

use $db;

create external table $table_name(

id string,

name string,

first_classify string,

second_classify string,

third_classify string,

tags string

)partitioned by (dt string comment 'update date')

row format delimited fields terminated by '\t' lines terminated by '\n'

stored as textfile;

"

3、存放udf、資料處理的jar包udf

4、存放對資料處理邏輯的指令碼deal

#! /bin/bash

source ../config/set_env.sh

updatedt=$1

db="job_002"

jar_path=""

class_path=""

$hive -e "

use $db;

load data local inpath '$data_source_path'

overwrite into table $table_name partition(dt='$updatedt')

;"

$1指的時執行shell指令碼時傳入的第乙個引數,$0代表所有的引數

(create)vi hot_tag_rank.sh

#! /bin/bash

source ../config/set_env.sh

db="job_002"

table_name="hot_tag_rank"

$hive -e "

use $db;

create table $table_name(

tag string,

freq int

) partitioned by (dt string comment 'update date')

row format delimited fields terminated by '\t' lines terminated by '\n'

stored as textfile;

"

(deal)vi produce_hot_tag_rank.sh

在這裡插入**片#! /bin/bash

source ../config/set_env.sh

updatedt=$1

db="job_002"

table_name="hot_tag_rank"

jar_path=""

class_path=""

$hive -e "

use $db;

set hive.execution.engine=tez;

insert overwrite table hot_tag_rank partition(dt='$updatedt')

"

指令碼串聯:

需要使用乙個指令碼來串聯所有執行過程。

vi a_main.sh

#! /bin/bash

#得到當前日期

currentdt=`date +%y%m%d`

echo "currentdt="$currentdt

echo "start load data to table process"

echo "end"

#生成統計排序的熱度標籤資料

echo "start insert tag rank data"

sh produce_hot_tag_rank_rc.sh $currentdt

echo "end"

echo "all done!"

``反引號的意思是將命令執行,將結果當作輸入字串

專案練習(一)APP熱點標籤分析

1 專案背景 2 需求分析 2 儲存到hive做進一步分析 通過大資料開發之hive資料倉儲命令列形式,完成資料載入 udf udaf udtf函式 統計分析的任務,並演示專案效果即可。3 主要思路 1 建立對應的資料表1 2 載入資料到表1 3 建立乙個表2儲存標籤和標籤量 4 對資料表1進行處理...

團隊專案作業派app分析

一 n need 需求 分許可權登入 老師端和學生端 陳琪 老師端設有發布作業和作業提醒功能以及作業批改,學生端設有訊息通知欄和作業欄 高帥 資料庫 資料庫建立作業發布表 老師端輸入 作業提交表附有乙個批改屬性可供老師填寫 學生端 訊息表有時間屬性 老師端 薛普 ui介面 我們會根據資料和使用者需求...

ArcGIS空間分析 熱點分析

熱帶分析對資源分配型別來說特別有用。應用領域包括 犯罪分析 流行病學 投票模式分析 經濟地理學 零售分析 交通事故分析以及人口統計學。其中的一些應用示例包括 疾病集中爆發在什麼位置?何處的廚房火災在所有住宅火災中所佔的比例超出了正常範圍?避難場所應設定在 峰值密集區出現於何處 何時?我們應在哪些位置...