三、主要思路及難點
主要思路:
通過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
$1指的時執行shell指令碼時傳入的第乙個引數,$0代表所有的引數#! /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')
;"
(create)vi hot_tag_rank.sh
(deal)vi produce_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;
"
指令碼串聯:在這裡插入**片#! /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空間分析 熱點分析
熱帶分析對資源分配型別來說特別有用。應用領域包括 犯罪分析 流行病學 投票模式分析 經濟地理學 零售分析 交通事故分析以及人口統計學。其中的一些應用示例包括 疾病集中爆發在什麼位置?何處的廚房火災在所有住宅火災中所佔的比例超出了正常範圍?避難場所應設定在 峰值密集區出現於何處 何時?我們應在哪些位置...