Appstore Homework
Appstore Homework
txt
123@123999|32345|entertainment|2022-05-25|2|xxx222|wifi|12.13.134|src1
123@124000|32346|entertainment|2022-05-25|3|xxx223|wifi|12.13.135|src2
123@124001|32347|entertainment|2022-05-25|4|xxx224|wifi|12.13.136|src3
123@124002|32348|entertainment|2022-05-25|5|xxx225|wifi|12.13.137|src4
123@124003|32349|entertainment|2022-05-25|6|xxx226|wifi|12.13.138|src5
cat appstore_data_25may.txt
vi appstore_data_26may.txt
123@123999|32345|finance|2022-05-26|10|xxx222|wifi|12.13.178|src1
123@124000|32346|love|2022-05-26|2|xxx223|wifi|12.13.135|src2
123@124001|32347|Tesla|2022-05-26|2|xxx224|wifi|12.13.136|src3
123@124002|32348|Kids|2022-05-26|5|xxx225|boradband|12.13.137|src4
123@124003|32349|entertainment|2022-05-26|6|xxx226|wifi|12.13.138|src5
cat appstore_data_26may.txt
set hive.exec.dynamic.partition=true;
set hive.exec.dynamic.partition.mode=nonstrict;
set hive.exec.max.dynamic.partitions=2000;
set hive.exec.max.dynamic.partitions.pernode=2000;
SELECT
sign, imei,
search_term,result_count,source,client_ver_cd,network_type_id,eventdate,
REGEXP_REPLACE(substr(eventdate,1,10),'-','') AS part_dt
FROM
(
SELECT
COALESCE(t1.sign,t2.sign) as sign,
COALESCE(t1.imei,t2.imei) as imei,
COALESCE(t1.search_term,t2.search_term) as search_term,
COALESCE(t1.result_count,t2.result_count) as result_count,
COALESCE(t1.network_type_id,t2.network_type_id, -1) as network_type_id,
COALESCE(t1.source,t2.source) as source,
COALESCE(t1.client_ver_cd,t2.client_ver_cd) as client_ver_cd,
COALESCE(t1.eventdate,t2.eventdate) as eventdate
FROM
(
SELECT
sign, imei, search_term, result_count,
network_type_id,source,client_ver_cd,eventdate
FROM
appstore.dim_appstore_search_dm
where
part_dt>='2022-05-25'
)t2
FULL OUTER JOIN
(
SELECT
sign,t.imei,search_term,result_count,network_type_id,source,client_ver_cd,eventdate
FROM
(
SELECT
split(login_id,'@')[0] AS sign,
split(login_id,'@')[1] AS imei,
search_term,
result_count,
'99' as client_ver_cd,
cast (network_type_id as int) AS network_type_id,
source,
oper_date as eventdate
FROM
appstore.stage_appstore_search_dm_astore
WHERE part_dt='2022-05-26'
)t
)t1
ON t1.sign=t2.sign
and t1.search_term=t2.search_term
and t1.result_count=t2.result_count
and t1.network_type_id=t2.network_type_id
and t1.source=t2.source
and t1.eventdate=t2.eventdate
)t
;