(select big_level ,count(1) as num from credit_score_mining_out
where eval_day= trunc(current_date,'MM') group by big_level ) a "
##天表数据导入到全表
/opt/cloudera/parcels/CDH-5.15.1-1.cdh5.15.1.p0.4/bin/hive -e"insert into credit_level_analysis select * from credit_level_analysis_day"
sh /var/lib/hadoop-hdfs/work/blacklist/sqoop2mysql/credit_level_analysis2mysql.sh>>/home/logs/blacklist/credit_level_analysis2mysql_$(date +\%Y\%m\%d).log 2>&1
from credit_score_mining_out where eval_day= trunc(current_date(),'MM')"
##月表插入到总表
/opt/cloudera/parcels/CDH-5.15.1-1.cdh5.15.1.p0.4/bin/hive -e"insert into credit_month_average select * from credit_month_average_month"
echo"结果导出"
sh /var/lib/hadoop-hdfs/work/blacklist/sqoop2mysql/credit_month_average2mysql.sh>>/home/logs/blacklist/credit_month_average2mysql_$(date +\%Y\%m\%d).log 2>&1
insert overwrite table app.credit_activate_stat SELECT total1.num,daytotal1.num,daytotal1.day,current_timestamp() from (SELECT count(1) num from (SELECT id_card,min(day) day from default.app_activate_credit GROUP BY id_card)a WHERE a.day<current_date()) total1 inner join (SELECT date_add(current_date(),-1) day,count(1) num from (SELECT id_card,min(day) day from default.app_activate_credit GROUP BY id_card)a WHERE a.day=date_add(current_date(),-1)) daytotal1 on 1=1;
from (SELECT b.* from default.app_activate_credit a INNER JOIN
(SELECT * from default.credit_score_mining_out WHERE eval_day=trunc(current_date(),'MM')) b on a.id_card=b.idcard_no)tab where eval_day= trunc(current_date(),'MM');
insert into app.credit_month_average_month_all select
trunc(current_date(),'MM'),
avg(b_score),
current_timestamp,
'0'
from default.credit_score_mining_out where eval_day= trunc(current_date(),'MM');
SELECT act_type2,act_type1,sum(times) total,date_sub(eval_day,1) cal_date,score_type,current_timestamp(),'0' from
default.credit_action_times_coe
WHERE eval_day=current_date() GROUP BY act_type2,act_type1,score_type,eval_day ;
INSERT into table app.credit_change_analysis_day
SELECT act_type2,act_type1,sum(times) total,date_sub(eval_day,1) cal_date,score_type,current_timestamp(),'1' from
(
SELECT b.* from default.app_activate_credit a INNER JOIN (SELECT * from
credit_action_times_coe WHERE eval_day=current_date() ) b on a.id_card=b.idcard_no
)tab
GROUP BY act_type2,act_type1,score_type,eval_day ;
--信用雷达-----------------------------
insert overwrite table app.credit_radar select 1,'违法行为',avg(crime_percent_rank),date_add(eval_day,-1),current_date(),'0' from default.credit_score_mining_out where eval_day=current_date() group by eval_day;
insert into table app.credit_radar select 1,'违法行为',avg(crime_percent_rank),date_add(eval_day,-1),current_date(),'1' from
(select * from default.app_activate_credit a inner join (select * from default.credit_score_mining_out where eval_day=current_date())b on a.id_card=b.idcard_no)tab group by eval_day;
insert into app.credit_radar select 2,'安全行驶',avg(accident_percent_rank),date_add(eval_day,-1),current_date(),'0' from default.credit_score_mining_out where eval_day=current_date() group by eval_day;
insert into app.credit_radar select 2,'安全行驶',avg(accident_percent_rank),date_add(eval_day,-1),current_date(),'1' from
(select * from default.app_activate_credit a inner join (select * from default.credit_score_mining_out where eval_day=current_date())b on a.id_card=b.idcard_no)tab group by eval_day;
insert into app.credit_radar select 3,'基础信息',avg(per_info_rank),date_add(eval_day,-1), current_date(),'0' from default.credit_score_mining_out where eval_day=current_date() group by eval_day;
insert into app.credit_radar select 3,'基础信息',avg(per_info_rank),date_add(eval_day,-1), current_date(),'1' from
(select * from default.app_activate_credit a inner join (select * from default.credit_score_mining_out where eval_day=current_date())b on a.id_card=b.idcard_no)tab group by eval_day;
insert into app.credit_radar select 4,'文明活动',avg(good_act_rank),date_add(eval_day,-1),current_date(),'0' from default.credit_score_mining_out where eval_day=current_date() group by eval_day;
insert into app.credit_radar select 4,'文明活动',avg(good_act_rank),date_add(eval_day,-1),current_date(),'1' from
(select * from default.app_activate_credit a inner join (select * from default.credit_score_mining_out where eval_day=current_date())b on a.id_card=b.idcard_no)tab group by eval_day;
insert into app.credit_radar select 5,'信用履约',avg(task_percent_rank),date_add(eval_day,-1) ,current_date(),'0' from default.credit_score_mining_out where eval_day=current_date() group by eval_day;
insert into app.credit_radar select 5,'信用履约',avg(task_percent_rank),date_add(eval_day,-1) ,current_date(),'1' from
(select * from default.app_activate_credit a inner join (select * from default.credit_score_mining_out where eval_day=current_date())b on a.id_card=b.idcard_no)tab group by eval_day;
--score_record---------------------------
insert overwrite table app.credit_score_record_day SELECT idcard_no,eval_day,substr(eval_day,1,7),b_score,per_info_score+total_no_bad_score+total_task_add_score+total_good_act_score,abs(total_crime_score+total_acci_score+total_task_m_score),crime_percent_rank,accident_percent_rank,per_info_rank,good_act_rank,task_percent_rank,b_rank,cast((tb.num-b_rank)/tb.num as decimal(38,6))*10000 FROM (select * from default.credit_score_mining_out where eval_day=current_date()) a INNER JOIN (SELECT count(1) num from default.credit_score_mining_out WHERE eval_day=current_date() ) tb on 1=1;
insert overwrite table app.credit_score_record_day_new SELECT idcard_no,substr(eval_day,1,7),a_score,big_level,small_level,cast((tb.num-a_rank)/tb.num as decimal(38,6))*10000,a_rank FROM (select idcard_no,eval_day,a_score,big_level,small_level,a_rank from (select b1.*,row_number() over(partition by idcard_no order by eval_day asc) evalrank from (select a0.* from (select idcard_no,eval_day,a_score,big_level,small_level,a_rank from default.credit_score_mining_out where eval_day>trunc(current_date(),'MM')) a0 left outer join (select idcard_no from default.credit_score_mining_out where eval_day=trunc(current_date(),'MM')) a1 on a0.idcard_no=a1.idcard_no where a1.idcard_no is null)b1 ) b2 where evalrank=1) a INNER JOIN (SELECT count(1) num from default.credit_score_mining_out WHERE eval_day=current_date()) tb on 1=1;
INSERT OVERWRITE TABLE app.credit_score_record_everyday SELECT a.id_card,a.gmt_evaluate,a.month_evaluate,a.credit_hide_score,b.credit_display_score,b.credit_big_level_code,b.credit_small_level_code,b.credit_score_rate,a.increase_score,a.deduction_score,a.traffic_compliance,a.safe_driving,a.base_info,a.civilized_activity,a.credit_compliance,b.credit_display_score_rank,a.credit_hide_score_rank,a.credit_hide_score_rate from app.credit_score_record_day a INNER JOIN app.credit_score_record_month b on a.id_card=b.id_card;
insert into app.credit_score_record_everyday SELECT a.id_card,a.gmt_evaluate,a.month_evaluate,a.credit_hide_score,b.credit_display_score,b.credit_big_level_code,b.credit_small_level_code,b.credit_score_rate,a.increase_score,a.deduction_score,a.traffic_compliance,a.safe_driving,a.base_info,a.civilized_activity,a.credit_compliance,b.credit_display_score_rank,a.credit_hide_score_rank,a.credit_hide_score_rate from app.credit_score_record_day a INNER JOIN app.credit_score_record_day_new b on a.id_card=b.id_card;
increase_score,deduction_score,traffic_compliance,safe_driving,base_info,civilized_activity,credit_compliance,rank() over(PARTITION BY gmt_evaluate ORDER BY credit_display_score desc) credit_display_score_rank,
rank() over(PARTITION BY gmt_evaluate ORDER BY credit_hide_score desc) credit_hide_score_rank from
(SELECT b.* from default.app_activate_credit a1 INNER JOIN app.credit_score_record_everyday b on a1.id_card=b.id_card)tab) a
INNER JOIN (SELECT count(1) num from default.app_activate_credit a1l INNER JOIN app.credit_score_record_everyday bl on a1l.id_card=bl.id_card) tb on 1=1;
insert into app.credit_score_record
select *,'0' from app.credit_score_record_everyday;