#!/bin/sh
if [ "$1" = "" ]; then
today=`date +%Y-%m-%d`
yesterday=`date +%Y-%m-%d -d '-1 days'`
else
yesterday=`date -d "$1 +0 day" +%Y-%m-%d`
today=`date -d "$yesterday +1 day" +%Y-%m-%d`
fi
echo $yesterday------------------$today
hive -f /var/lib/hadoop-hdfs/kylin_job/metadata/ranking_list_create.sql
hiveSql="
use metadata;
insert overwrite table ranking_list partition(dt='$yesterday')
select a.mp_id,a.mp_name,b.lid1,b.lname1,b.lid2,b.lname2,
b.lid3,b.lname3,a.salemoney,a.uv,a.salenum,'$yesterday'
from
(select mp_id,mp_name,
sum(salemoney) as salemoney,
sum(uv) as uv,
sum(salenum) as salenum from rpt_lyf.tracker_day_channel_mpid
where dt='$yesterday'
group by mp_id,mp_name
) a
join sourcedata.category_tree_node_merchant_product c
on a.mp_id=c.merchant_product_id
join metadata.category_level b
on c.fore_category_tree_node_id=b.id and b.category_tree_id=1
"
hive -e "$hiveSql"
DRIVER=com.mysql.jdbc.Driver
#USERNAME=tester
#PASSWORD=tester
#CONNECT="jdbc:mysql://10.0.4.139:3306/front?useUnicode=true&characterEncoding=utf-8&autoReconnect=true"
USERNAME=lac_user
PASSWORD=abc@WSX
CONNECT="jdbc:mysql://10.3.2.104:3306/lac?useUnicode=true&characterEncoding=utf-8"
TABLE=ranking_list
COLUMNS=merchant_product_id,merchant_product_name,category_id_one,category_name_one,category_id_two,category_name_two,category_id_three,category_name_three,trans_amount,visitors,sales,dt
DIR=/data/hdfs/metadata/ranking_list/dt=$yesterday
sqoop eval \
--driver $DRIVER \
--connect $CONNECT \
--username $USERNAME \
--password $PASSWORD \
--query "DELETE FROM $TABLE WHERE dt='$yesterday';"
/bin/sqoop export \
--driver $DRIVER \
--connect $CONNECT \
--username $USERNAME \
--password $PASSWORD \
--table $TABLE \
--export-dir $DIR \
--fields-terminated-by '\001' \
--input-null-string '\\N' \
--input-null-non-string '\\N' \
--columns $COLUMNS \
--jar-file /tmp/sqoop-hdfs/compile/ranking_list/ranking_list.jar \
--class-name ranking_list \
-m 1 \
建表语句
use metadata;
#drop table ranking_list;
CREATE EXTERNAL TABLE if not exists ranking_list(
mp_id bigint,
mp_name string,
lid1 bigint,
lname1 string,
lid2 bigint,
lname2 string,
lid3 bigint,
lname3 string,
salemoney decimal(18,2),
uv bigint,
salenum bigint,
ct string
)partitioned by(dt string)
row format delimited
fields terminated by '\001'
location 'hdfs://nameservice1/data/hdfs/metadata/ranking_list'