This commit is contained in:
尹舟 2025-07-25 16:59:05 +08:00
parent 6e036cc51b
commit 7425c1d909
13 changed files with 14191 additions and 486 deletions

View File

@ -71,4 +71,11 @@ AND A .relkind = 'p' -- 关系的类型,可以是普通表('r')、索引
AND relpartbound is NULL AND relpartbound is NULL
SELECT t2.relname, t1.attname
from
(select distinct attrelid,attname from
pg_catalog.pg_attribute a where a.attname = 'gmid') t1
inner JOIN
pg_catalog.pg_class t2
on t1.attrelid=t2.oid

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,138 @@
CREATE TABLE ods_game_order (
game_id int NOT NULL,
order_id VARCHAR NOT NULL,
status int NOT NULL,
user_account VARCHAR,
role_id VARCHAR,
server_id int,
platform_id VARCHAR,
product_id VARCHAR,
amount bigint,
create_time DATETIME,
ds VARCHAR,
receive_time DATETIME
)
UNIQUE KEY (game_id, order_id, status) DISTRIBUTED BY HASH (game_id) BUCKETS 32;
CREATE TABLE ods_order_history (
id bigint NOT NULL,
orderid VARCHAR NOT NULL,
account VARCHAR,
platformid VARCHAR,
serverid bigint,
username VARCHAR,
roleid VARCHAR,
money bigint,
yuanbao bigint,
goods bigint,
level bigint,
`time` bigint,
gid bigint
)
UNIQUE KEY (id, orderid) DISTRIBUTED BY HASH (id) BUCKETS 32;
drop TABLE ods_role;
CREATE TABLE ods_role (
game_id int NOT NULL,
server_id int NOT NULL,
role_id VARCHAR NOT NULL,
user_account VARCHAR,
role_name VARCHAR,
job int,
level int,
exp bigint,
relevel int,
platform_id VARCHAR,
create_time DATETIME,
ds date,
main_server_id int,
update_time DATETIME,
is_del int
)
UNIQUE KEY (game_id, server_id, role_id) DISTRIBUTED BY HASH (game_id) BUCKETS 32;
CREATE TABLE ods_role_duration (
game_id int NOT NULL,
server_id int NOT NULL,
role_id VARCHAR NOT NULL,
create_time DATETIME NOT NULL,
user_account VARCHAR,
duration int,
level int,
role_name VARCHAR
)
UNIQUE KEY (game_id, server_id, role_id, create_time) DISTRIBUTED BY HASH (game_id) BUCKETS 32;
CREATE TABLE ods_rollserv_user (
game_id int,
server_id int,
user_account VARCHAR,
role_id VARCHAR,
role_name VARCHAR,
job int,
level int,
exp bigint,
relevel int,
platform_id VARCHAR,
create_time DATETIME,
ds date NOT NULL
)
ENGINE=OLAP
PARTITION BY RANGE(`ds`) () DISTRIBUTED BY HASH (ds) BUCKETS 32 PROPERTIES
(
"min_load_replica_num" = "-1",
"dynamic_partition.enable" = "true",
"dynamic_partition.time_unit" = "DAY",
"dynamic_partition.time_zone" = "Asia/Shanghai",
"dynamic_partition.start" = "-180",
"dynamic_partition.end" = "3",
"dynamic_partition.buckets" = "32",
"dynamic_partition.create_history_partition" = "true",
"dynamic_partition.prefix" = "p_",
"storage_medium" = "hdd"
);
CREATE TABLE ods_rollserv_user_r (
game_id int,
server_id int,
user_account VARCHAR,
role_id VARCHAR,
role_name VARCHAR,
job int,
level int,
exp bigint,
relevel int,
platform_id VARCHAR
)
DISTRIBUTED BY HASH (game_id) BUCKETS 32 ;
CREATE TABLE ods_user_profile_lt (
account VARCHAR NOT NULL,
game_id int NOT NULL,
_update_time_ DATETIME NOT NULL,
total_order bigint,
total_payment bigint,
total_played int,
first_login DATETIME,
last_login DATETIME,
gd int,
sd int,
ld int,
score DECIMAL(10,2)
)
UNIQUE KEY (account, game_id) DISTRIBUTED BY HASH (game_id) BUCKETS 32;
CREATE TABLE ods_user_profile_player (
account VARCHAR NOT NULL,
game_id int NOT NULL,
_update_time_ DATETIME NOT NULL
)
UNIQUE KEY (account, game_id) DISTRIBUTED BY HASH ( game_id) BUCKETS 32;

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,290 @@
CREATE TABLE ods_anti_plugin (
appid int NOT NULL,
channel_id int,
device_id VARCHAR NOT NULL,
game_id int,
servid bigint,
user_id VARCHAR,
role_id VARCHAR,
ip VARCHAR,
location VARCHAR,
env_risk VARCHAR,
plug_risk VARCHAR,
other_risk VARCHAR,
event_time DATETIME NOT NULL
)
ENGINE=OLAP
DISTRIBUTED BY HASH(`appid`) BUCKETS 32;
CREATE TABLE ods_apm_crash (
guid bigint NOT NULL,
errno VARCHAR,
gmid bigint,
appid bigint,
app_id VARCHAR,
app_ver VARCHAR,
app_pkg VARCHAR,
sdk_ver VARCHAR,
channel VARCHAR,
country VARCHAR,
province VARCHAR,
city VARCHAR,
isp VARCHAR,
ip VARCHAR,
device_width int,
device_height int,
device_id VARCHAR,
device_lang VARCHAR,
device_model VARCHAR,
device_brand VARCHAR,
device_os VARCHAR,
device_type VARCHAR,
cpu_abi VARCHAR,
device_ram int,
avail_ram int,
device_hdd int,
avail_hdd int,
is_root smallint,
is_front smallint,
battery_temp VARCHAR,
cpu_usage VARCHAR,
use_time bigint,
crash_file VARCHAR,
crash_type VARCHAR,
brief_content VARCHAR,
brief_title VARCHAR,
is_parsed smallint,
net_type VARCHAR,
user_id VARCHAR,
server_id VARCHAR,
report_time DATETIME NOT NULL
)
UNIQUE KEY (guid) DISTRIBUTED BY HASH (guid) BUCKETS 32;
CREATE TABLE ods_event_analyze_task (
id bigint NOT NULL,
task_type VARCHAR NOT NULL,
code VARCHAR NOT NULL,
params VARCHAR NOT NULL,
run_type int,
cron_express VARCHAR
)
UNIQUE KEY (id, task_type) DISTRIBUTED BY HASH (id) BUCKETS 32;
CREATE TABLE ods_game_pm_log (
gmid bigint NOT NULL,
appid bigint NOT NULL,
app_id VARCHAR NOT NULL,
app_ver VARCHAR,
sdk_ver VARCHAR,
channel VARCHAR NOT NULL,
country VARCHAR,
province VARCHAR,
city VARCHAR,
isp VARCHAR,
ip VARCHAR,
device_width int,
device_height int,
device_id VARCHAR NOT NULL,
device_lang VARCHAR,
device_model VARCHAR,
device_brand VARCHAR,
device_os VARCHAR,
device_type VARCHAR,
event_name VARCHAR NOT NULL,
event_type VARCHAR,
event_time DATETIME NOT NULL,
net_type VARCHAR,
user_id VARCHAR,
order_id VARCHAR,
amount bigint,
platform VARCHAR,
status int,
servid VARCHAR,
server_name VARCHAR,
role_id VARCHAR,
role_name VARCHAR,
role_level VARCHAR,
job_id VARCHAR,
job_name VARCHAR,
var1 VARCHAR,
var2 VARCHAR,
var3 VARCHAR,
var4 VARCHAR,
var5 VARCHAR,
var6 VARCHAR,
var7 VARCHAR,
var8 VARCHAR,
var9 VARCHAR,
var10 VARCHAR,
var11 VARCHAR,
var12 VARCHAR,
var13 VARCHAR,
var14 VARCHAR,
var15 VARCHAR,
var16 VARCHAR,
var17 VARCHAR,
var18 VARCHAR,
var19 VARCHAR,
var20 VARCHAR,
var21 VARCHAR,
var22 VARCHAR,
var23 VARCHAR,
var24 VARCHAR,
var25 VARCHAR,
var26 VARCHAR,
var27 VARCHAR,
var28 VARCHAR,
var29 VARCHAR,
var30 VARCHAR,
ds date NOT NULL,
prodid VARCHAR,
prod_name VARCHAR,
sub_servid VARCHAR,
sub_server_name VARCHAR
)
ENGINE=OLAP
PARTITION BY RANGE(`ds`) () DISTRIBUTED BY HASH (ds) BUCKETS 32 PROPERTIES
(
"min_load_replica_num" = "-1",
"dynamic_partition.enable" = "true",
"dynamic_partition.time_unit" = "DAY",
"dynamic_partition.time_zone" = "Asia/Shanghai",
"dynamic_partition.start" = "-15",
"dynamic_partition.end" = "3",
"dynamic_partition.buckets" = "32",
"dynamic_partition.create_history_partition" = "true",
"dynamic_partition.prefix" = "p_",
"storage_medium" = "hdd"
);
CREATE TABLE ods_risk_detail (
appid int NOT NULL,
channel_id int,
device_id VARCHAR,
game_id int,
servid bigint,
user_id VARCHAR,
role_id VARCHAR,
ip VARCHAR,
location VARCHAR,
env_risk VARCHAR,
plug_risk VARCHAR,
other_risk VARCHAR,
event_time DATETIME NOT NULL
)
DISTRIBUTED BY HASH(`appid`) BUCKETS 32
CREATE TABLE ods_risk_device (
appid int NOT NULL,
device_id VARCHAR NOT NULL,
ds VARCHAR NOT NULL,
channel_id VARCHAR,
game_id int,
servid bigint,
user_id VARCHAR,
role_id VARCHAR,
ip VARCHAR,
location VARCHAR,
env_risk VARCHAR,
plug_risk VARCHAR,
other_risk VARCHAR,
event_time DATETIME NOT NULL
)
UNIQUE KEY (appid, device_id, ds) DISTRIBUTED BY HASH (appid) BUCKETS 32;
drop table ods_rollserv_account_r;
CREATE TABLE ods_rollserv_account_r (
gmid int,
appid int,
app_ver VARCHAR,
sdk_ver VARCHAR,
channel VARCHAR,
country VARCHAR,
province VARCHAR,
city VARCHAR,
isp VARCHAR,
ip VARCHAR,
device_id VARCHAR,
device_model VARCHAR,
device_brand VARCHAR,
device_os VARCHAR,
device_type VARCHAR,
event_time bigint,
user_id VARCHAR,
servid VARCHAR,
role_id VARCHAR,
job_id VARCHAR,
role_level VARCHAR,
role_name VARCHAR,
job_name VARCHAR,
ds date
)
DISTRIBUTED BY HASH (gmid) BUCKETS 32;
CREATE TABLE ods_track_log_for_gmweb (
appid bigint NOT NULL,
ds date NOT NULL,
app_id VARCHAR,
app_ver VARCHAR,
sdk_ver VARCHAR,
channel VARCHAR,
country VARCHAR,
province VARCHAR,
city VARCHAR,
isp VARCHAR,
ip VARCHAR,
net_type VARCHAR,
device_width int,
device_height int,
device_id VARCHAR NOT NULL,
device_lang VARCHAR,
device_model VARCHAR,
device_brand VARCHAR,
device_os VARCHAR,
device_type VARCHAR,
event_name VARCHAR NOT NULL,
event_type VARCHAR,
event_time DATETIME NOT NULL,
user_id VARCHAR,
var1 VARCHAR,
var2 VARCHAR,
var3 VARCHAR,
var4 VARCHAR,
var5 VARCHAR,
var6 VARCHAR,
var7 VARCHAR,
var8 VARCHAR,
var9 VARCHAR,
var10 VARCHAR,
var11 VARCHAR,
var12 VARCHAR,
var13 VARCHAR,
var14 VARCHAR,
var15 VARCHAR,
var16 VARCHAR,
var17 VARCHAR,
var18 VARCHAR,
var19 VARCHAR,
var20 VARCHAR,
var21 VARCHAR,
var22 VARCHAR,
var23 VARCHAR,
var24 VARCHAR,
var25 VARCHAR,
var26 VARCHAR,
var27 VARCHAR,
var28 VARCHAR,
var29 VARCHAR,
var30 VARCHAR
)
DISTRIBUTED BY HASH (appid,ds) BUCKETS 32;

View File

@ -0,0 +1,77 @@
-- 源 sls
996 'logStore' = 'login-log' *|where saccount <> ''
-- 目标
hologres dhsf_engine.ods_active_role insertorignore
hologres dhsf_engine.ods_role insertorupdate
hologres dhsf_engine.dwd_role_level insertorupdate
hologres dhsf_engine.ods_role_duration insertorignore
hologres dhsf_engine.ods_platform_login insertorignore
hologres dhsf_engine.dws_analyze_account insertorupdate
hologres dhsf_engine.dws_analyze_role insertorupdate
-- 源 sls
game-sdk.com-login sls_com_login_log
-- 目标
hologres dhsf_engine.ods_user_profile_login insertorignore
-- 源 sls
sh996sdk track-log * | where channel is not null
`holo`.`sdk_statis`.`ods_active_account`
`holo`.`sdk_statis`.`ods_newly_account`
`holo`.`sdk_statis`.`ods_active_device`
`holo`.`sdk_statis`.`ods_newly_device`
`holo`.`sdk_statis`.`ods_payment_order`
`holo`.`sdk_statis`.`ods_payment_object`
`holo`.`sdk_statis`.`ods_newly_role`
`holo`.`sdk_statis`.`ods_active_role`
`holo`.`sdk_statis`.`dws_app_props`
-- 源 sls
996sdk-mapis yidun-ban-data
-- 目标
odps sh996dac.ods_ban_data
-- 源 mysql
dhsf_gm apply_hefu_servers
csyq_gm apply_hefu_servers
c3yq_gm apply_hefu_servers
-- 目标
hologres dhsf_engine.game_merge insertorupdate
-- 源 mysql
platform tab_user
-- 目标
hologres dhsf_engine.ods_platform_account insertorreplace
hologres dhsf_engine.biz.dwd_event_analyze_account insertorupdate
-- 源hologres
dhsf_engine ods_order
-- 目标
hologres dhsf_engine.public.ods_order_union insertorupdate
-- 源hologres
sdk_statis dws_event_analyze_account jdbc
-- 目标
`holo`.sdk_statis.`biz.dwd_account_reg`
`holo`.sdk_statis.`biz.dwd_account_pay`
`holo`.sdk_statis.`biz.dwd_account_create_role`
sdk_statis biz.dws_event_analyze_account insertorupdate
sdk_statis dws_event_analyze_device jdbc
-- 目标
`holo`.sdk_statis.`biz.dwd_device_launch`
`holo`.sdk_statis.`biz.dwd_device_pay`
sdk_statis biz.dws_event_analyze_device insertorupdate

27
996/flinksql/flink.sql Normal file
View File

@ -0,0 +1,27 @@
'mutatetype' = 'insertorupdate'
insert
insertorupdate UPSERT
insertorignore
insertorreplace
'ignoredelete' = 'true',
'query' = '*|where saccount <> '''',
'server-id' = '24071-24078',
'scan.startup.mode' = 'initial',
'server-time-zone' = 'Asia/Shanghai'
'binlog' = 'true',
'cdcMode' = 'true',
'upsertSource' = 'true',
'binlogMaxRetryTimes' = '10',
'binlogRetryIntervalMs' = '500',
'binlogBatchReadSize' = '100',
'startTime' = '2025-04-11 15:00:00'
'connector'='print',
'logger'='true'

189
996/热血江湖/1.sql Normal file
View File

@ -0,0 +1,189 @@
BEGIN;
/*
DROP TABLE public.ods_payment_order;
*/
-- Type: TABLE ; Name: ods_payment_order; Owner: sdk_statis_developer
CREATE TABLE public.ods_payment_order (
gmid bigint,
appid bigint NOT NULL,
app_ver text,
sdk_ver text,
channel text,
country text,
province text,
city text,
isp text,
ip text,
device_id text,
device_model text,
device_brand text,
device_os text,
device_type text,
event_time bigint,
user_id text,
order_id text NOT NULL,
amount bigint,
platform text,
servid text,
role_id text,
prodid text,
prod_name text,
status integer NOT NULL,
ds text NOT NULL
,PRIMARY KEY (appid, order_id, status)
) WITH (
orientation = 'column',
storage_format = 'orc',
binlog_level = 'replica',
binlog_ttl = '604800',
bitmap_columns = 'appid,device_id,servid,order_id,user_id,status,ds,event_time',
clustering_key = 'ds:asc',
dictionary_encoding_columns = '',
distribution_key = 'appid',
table_group = 'sdk_statis_tg_s80',
table_storage_mode = 'any',
time_to_live_in_seconds = '3153600000'
);
COMMENT ON TABLE public.ods_payment_order IS NULL;
COMMENT ON COLUMN public.ods_payment_order.status IS '0预支付/1已支付';
COMMENT ON COLUMN public.ods_payment_order.ds IS 'yyyymmdd';
END;
BEGIN;
/*
DROP TABLE public.ods_active_role;
*/
-- Type: TABLE ; Name: ods_active_role; Owner: sdk_statis_developer
CREATE TABLE public.ods_active_role (
appid bigint NOT NULL,
channel text NOT NULL,
role_id text NOT NULL,
ds text NOT NULL,
gmid bigint,
app_ver text,
sdk_ver text,
country text,
province text,
city text,
isp text,
ip text,
device_id text,
device_model text,
device_brand text,
device_os text,
device_type text,
event_time bigint,
user_id text,
servid text,
job_id text,
role_level text,
role_name text,
job_name text,
server_name text
,PRIMARY KEY (appid, channel, role_id, ds)
) WITH (
orientation = 'column',
storage_format = 'orc',
bitmap_columns = 'appid,ds',
clustering_key = 'ds:asc',
dictionary_encoding_columns = '',
distribution_key = 'appid,role_id,ds',
table_group = 'sdk_statis_tg_s80',
table_storage_mode = 'any',
time_to_live_in_seconds = '31536000'
);
COMMENT ON TABLE public.ods_active_role IS NULL;
ALTER TABLE public.ods_active_role OWNER TO sdk_statis_developer;
END;
BEGIN;
/*
DROP TABLE public.ads_app_statis_md;
*/
-- Type: TABLE ; Name: ads_app_statis_md; Owner: sdk_statis_developer
CREATE TABLE public.ads_app_statis_md (
gmid integer NOT NULL,
appid integer NOT NULL,
app_ver text NOT NULL,
channel text NOT NULL,
newly_device bigint,
newly_account bigint,
active_device bigint,
active_account bigint,
payment_device bigint,
payment_account bigint,
order_created bigint,
order_amount bigint,
order_payment bigint,
ds text NOT NULL,
new_role_users bigint,
new_roles bigint,
new_pay_account bigint,
new_ac_amount bigint,
new_ac_pay_num bigint,
new_pay_user bigint,
new_user_amount bigint,
payment_order bigint
,PRIMARY KEY (gmid, appid, app_ver, channel, ds)
) WITH (
orientation = 'column',
storage_format = 'orc',
bitmap_columns = 'app_ver,channel,ds',
dictionary_encoding_columns = 'app_ver:auto,channel:auto,ds:auto',
distribution_key = 'gmid,appid,app_ver,channel,ds',
table_group = 'sdk_statis_tg_s80',
table_storage_mode = 'any',
time_to_live_in_seconds = '3153600000'
);
COMMENT ON TABLE public.ads_app_statis_md IS NULL;
ALTER TABLE public.ads_app_statis_md OWNER TO sdk_statis_developer;
COMMENT ON COLUMN public.ads_app_statis_md.newly_device IS '新增设备';
COMMENT ON COLUMN public.ads_app_statis_md.newly_account IS '新增账号';
COMMENT ON COLUMN public.ads_app_statis_md.active_device IS '活跃设备';
COMMENT ON COLUMN public.ads_app_statis_md.active_account IS '活跃账号';
COMMENT ON COLUMN public.ads_app_statis_md.payment_device IS '付费设备';
COMMENT ON COLUMN public.ads_app_statis_md.payment_account IS '付费账号';
COMMENT ON COLUMN public.ads_app_statis_md.order_created IS '创建订单数';
COMMENT ON COLUMN public.ads_app_statis_md.order_amount IS '订单总金额';
COMMENT ON COLUMN public.ads_app_statis_md.order_payment IS '订单实付款';
COMMENT ON COLUMN public.ads_app_statis_md.ds IS '统计月份yyyy-mm';
COMMENT ON COLUMN public.ads_app_statis_md.new_role_users IS '新增创角账号数';
COMMENT ON COLUMN public.ads_app_statis_md.new_roles IS '新增创建角色数';
COMMENT ON COLUMN public.ads_app_statis_md.new_pay_account IS '新增付费账号数';
COMMENT ON COLUMN public.ads_app_statis_md.new_ac_amount IS '新增付费金额(账号)';
COMMENT ON COLUMN public.ads_app_statis_md.new_ac_pay_num IS '新增付费次数';
COMMENT ON COLUMN public.ads_app_statis_md.new_pay_user IS '新增付费用户数';
COMMENT ON COLUMN public.ads_app_statis_md.new_user_amount IS '新增付费用户付费金额';
COMMENT ON COLUMN public.ads_app_statis_md.payment_order IS '付费订单数';
END;

View File

@ -0,0 +1,74 @@
CREATE TABLE public.dwd_platform_login_m (
game_id integer NOT NULL,
user_id integer NOT NULL,
user_account text,
promote_id integer,
platform_id integer,
login_time integer,
login_ip text,
ds date NOT NULL
,PRIMARY KEY (game_id, user_id, ds)
)
LOGICAL PARTITION BY LIST (ds)
WITH (
orientation = 'column',
distribution_key = 'game_id',
partition_expiration_time = '138 day',
partition_require_filter = TRUE
);
CREATE TABLE public.dwd_user_profile_lt (
account text NOT NULL,
game_id integer NOT NULL,
ds date NOT NULL,
total_order bigint,
total_payment bigint,
total_played integer,
first_login timestamp with time zone,
last_login timestamp with time zone,
gd integer,
sd integer,
ld integer,
score numeric(10,2)
,PRIMARY KEY (account, game_id, ds)
)
LOGICAL PARTITION BY LIST (ds)
WITH (
orientation = 'column',
distribution_key = 'game_id',
partition_expiration_time = '180 day',
partition_require_filter = TRUE
);
CREATE TABLE public.ods_rollserv_user (
game_id integer,
server_id integer,
user_account text,
role_id text,
role_name text,
job integer,
level integer,
exp bigint,
relevel integer,
platform_id text,
create_time timestamp with time zone,
ds date NOT NULL
)
LOGICAL PARTITION BY LIST (ds)
WITH (
orientation = 'column',
distribution_key = 'game_id',
partition_expiration_time = '180 day',
partition_require_filter = TRUE
);

View File

@ -0,0 +1,693 @@
CREATE TABLE public.ods_track_log (
gmid bigint NOT NULL,
appid bigint NOT NULL,
app_id text NOT NULL,
app_ver text,
sdk_ver text,
channel text,
country text,
province text,
city text,
isp text,
ip text,
device_width integer,
device_height integer,
device_id text NOT NULL,
device_lang text,
device_model text,
device_brand text,
device_os text,
device_type text,
event_name text NOT NULL,
event_type text,
event_time bigint NOT NULL,
net_type text,
user_id text,
order_id text,
amount bigint,
platform text,
status integer,
servid text,
server_name text,
role_id text,
role_name text,
role_level text,
job_id text,
job_name text,
var1 text,
var2 text,
var3 text,
var4 text,
var5 text,
var6 text,
var7 text,
var8 text,
var9 text,
var10 text,
var11 text,
var12 text,
var13 text,
var14 text,
var15 text,
var16 text,
var17 text,
var18 text,
var19 text,
var20 text,
var21 text,
var22 text,
var23 text,
var24 text,
var25 text,
var26 text,
var27 text,
var28 text,
var29 text,
var30 text,
ds DATE NOT NULL,
prodid text,
prod_name text,
sub_servid text,
sub_server_name text
)
LOGICAL PARTITION BY LIST (ds)
WITH (
orientation = 'column',
distribution_key = 'appid',
partition_expiration_time = '370 day',
partition_require_filter = TRUE
);
COMMENT ON TABLE public.ods_track_log IS '日志明细表';
COMMENT ON COLUMN public.ods_track_log.device_brand IS 'from device_model';
COMMENT ON COLUMN public.ods_track_log.status IS '-1非支付事件/0预支付/1已支付';
CREATE TABLE public.dwd_device_profile (
ds date NOT NULL,
appid integer NOT NULL,
device_id text NOT NULL,
gd integer,
sd integer,
ld integer
,PRIMARY KEY (ds, appid, device_id)
)
LOGICAL PARTITION BY LIST (ds)
WITH (
orientation = 'column',
distribution_key = 'appid',
partition_expiration_time = '30 day',
partition_require_filter = TRUE
);
CREATE TABLE public.ods_rollserv_account (
gmid integer,
appid integer,
app_ver text,
sdk_ver text,
channel text,
country text,
province text,
city text,
isp text,
ip text,
device_id text,
device_model text,
device_brand text,
device_os text,
device_type text,
event_time bigint,
user_id text,
servid text,
role_id text,
job_id text,
role_level text,
role_name text,
job_name text,
ds date NOT NULL
)
LOGICAL PARTITION BY LIST (ds)
WITH (
orientation = 'column',
distribution_key = 'appid',
partition_expiration_time = '30 day',
partition_require_filter = TRUE
);
CREATE TABLE public.ods_track_log4dur (
gmid bigint NOT NULL,
appid bigint NOT NULL,
app_id text NOT NULL,
app_ver text,
sdk_ver text,
channel text,
country text,
province text,
city text,
isp text,
ip text,
device_width integer,
device_height integer,
device_id text NOT NULL,
device_lang text,
device_model text,
device_brand text,
device_os text,
device_type text,
event_name text NOT NULL,
event_type text,
event_time bigint NOT NULL,
net_type text,
user_id text,
order_id text,
amount bigint,
platform text,
status integer,
servid text,
server_name text,
role_id text,
role_name text,
role_level text,
job_id text,
job_name text,
var1 text,
var2 text,
var3 text,
var4 text,
var5 text,
var6 text,
var7 text,
var8 text,
var9 text,
var10 text,
var11 text,
var12 text,
var13 text,
var14 text,
var15 text,
var16 text,
var17 text,
var18 text,
var19 text,
var20 text,
var21 text,
var22 text,
var23 text,
var24 text,
var25 text,
var26 text,
var27 text,
var28 text,
var29 text,
var30 text,
ds date NOT NULL,
prodid text,
prod_name text,
sub_servid text,
sub_server_name text
)
LOGICAL PARTITION BY LIST (ds)
WITH (
orientation = 'column',
distribution_key = 'appid',
partition_expiration_time = '7 day',
partition_require_filter = TRUE
);
CREATE TABLE public.dwd_newly_account_payment (
appid integer,
channel text,
user_id text,
servid text,
payment_order integer,
payment_amount bigint,
ds text ,PRIMARY KEY (appid, channel,user_id,servid,ds)
)with (
orientation = 'column',
storage_format = 'orc',
bitmap_columns = 'appid',
distribution_key = 'appid',
time_to_live_in_seconds = '16416000'
);
CREATE TABLE datasci.dws_role_churn_map_task_d (
gmid text NOT NULL,
appid integer NOT NULL,
servid text NOT NULL,
server_name text,
user_id text NOT NULL,
role_id text NOT NULL,
ds date NOT NULL,
role_level text,
map text,
task text,
victor_name text,
death_person_cnt integer,
death_enemy_cnt integer,
event_time timestamp with time zone NOT NULL
)
LOGICAL PARTITION BY LIST (ds)
WITH (
orientation = 'column',
distribution_key = 'appid',
partition_expiration_time = '30 day',
partition_require_filter = TRUE
);
CREATE TABLE datasci.ads_resc_product_change_analysis_h (
event_date timestamp with time zone NOT NULL,
event_hour timestamp with time zone NOT NULL,
gm_id bigint,
app_id bigint,
app_id_str text,
app_name text,
prod_id text,
svr_id text,
svr_name text,
user_id text,
role_id text,
role_name text,
role_level text,
role_att text,
consumable_grade text,
job_id text,
job_name text,
change_type text,
change_reason text,
latest_map text,
latest_task text,
change_times_sum bigint,
change_nums_sum bigint,
change_times_increased bigint,
change_times_reduced bigint,
change_times_dropped bigint,
change_nums_increased bigint,
change_nums_reduced bigint,
change_nums_dropped bigint,
ds date NOT NULL,
change_nums_increased_sum bigint,
map_rn bigint,
prod_id_category text,
open_time timestamp with time zone,
merge_time timestamp with time zone,
prod_name text,
prod_desc text,
role_create_time timestamp with time zone,
svr_desc text,
device_id text
)
LOGICAL PARTITION BY LIST (ds)
WITH (
orientation = 'column',
distribution_key = 'app_id',
partition_expiration_time = '30 day',
partition_require_filter = TRUE
);
CREATE TABLE datasci.ads_role_first_pay_analysis_d (
app_id bigint NOT NULL,
app_id_str text,
app_name text,
user_id text,
server_id text,
server_name text,
role_id text NOT NULL,
role_name text,
job_id text,
job_name text,
create_time bigint,
first_login_time bigint,
first_pay_time bigint,
first_pay_role_level text,
order_id text,
order_amount bigint,
prod_id text,
prod_name text,
real_interval bigint,
game_interval bigint,
ds date NOT NULL,
last_game_interval integer,
last_role_level text
,PRIMARY KEY (app_id, role_id, ds)
)
LOGICAL PARTITION BY LIST (ds)
WITH (
orientation = 'column',
distribution_key = 'app_id',
partition_expiration_time = '3666 day',
partition_require_filter = TRUE
);
CREATE TABLE datasci.dws_resc_monetary_stock_detail_d (
stock_date timestamp with time zone NOT NULL,
gm_id bigint,
app_id bigint,
app_id_str text,
app_name text,
svr_id text,
svr_name text,
open_time timestamp with time zone,
merge_time timestamp with time zone,
merge_number integer,
is_primary integer,
user_id text,
role_id text,
role_name text,
prod_id text,
event_date timestamp with time zone NOT NULL,
event_hour timestamp with time zone,
event_time timestamp with time zone,
change_type text,
latest_num_day bigint,
ds date NOT NULL,
prod_name text,
prod_desc text,
role_create_time timestamp with time zone,
svr_desc text
)
LOGICAL PARTITION BY LIST (ds)
WITH (
orientation = 'column',
distribution_key = 'app_id',
partition_expiration_time = '181 day',
partition_require_filter = TRUE
);
CREATE TABLE datasci.dws_resc_product_change_detail_h (
event_date timestamp with time zone,
event_hour timestamp with time zone,
gm_id bigint,
app_id bigint,
app_id_str text,
app_name text,
prod_id text,
svr_id text,
svr_name text,
user_id text,
role_id text,
role_name text,
role_level text,
role_att text,
consumable_grade text,
job_id text,
job_name text,
change_type text,
change_reason text,
latest_map text,
latest_task text,
change_times bigint,
change_nums bigint,
event_time timestamp with time zone NOT NULL,
ds date NOT NULL,
device_id text
)
LOGICAL PARTITION BY LIST (ds)
WITH (
orientation = 'column',
distribution_key = 'app_id',
partition_expiration_time = '181 day',
partition_require_filter = TRUE
);
CREATE TABLE datasci.dws_account_game_tag_duration_d (
user_id text NOT NULL,
game_type text NOT NULL,
tag_type text NOT NULL,
game_tag text NOT NULL,
ds date NOT NULL,
real_duration bigint
,PRIMARY KEY (ds, user_id, game_type, tag_type, game_tag)
)
LOGICAL PARTITION BY LIST (ds)
WITH (
orientation = 'column',
distribution_key = 'user_id',
partition_expiration_time = '190 day',
partition_require_filter = TRUE
);
CREATE TABLE datasci.ads_resc_monetary_change_analysis_h (
event_date timestamp with time zone NOT NULL,
event_hour timestamp with time zone NOT NULL,
gm_id bigint,
app_id bigint,
app_id_str text,
app_name text,
prod_id text,
svr_id text,
svr_name text,
user_id text,
role_id text,
role_name text,
role_level text,
role_att text,
consumable_grade text,
job_id text,
job_name text,
change_type text,
change_reason text,
latest_map text,
latest_task text,
latest_num_day bigint,
open_in_7_days_flag integer,
merge_in_7_days_flag integer,
open_in_14_days_flag integer,
merge_in_14_days_flag integer,
open_in_30_days_flag integer,
merge_in_30_days_flag integer,
mon_times_sum bigint,
change_num_sum bigint,
mon_times_increased bigint,
mon_times_reduced bigint,
change_num_increased bigint,
change_num_reduced bigint,
ds date NOT NULL,
open_time timestamp with time zone,
merge_time timestamp with time zone,
prod_name text,
prod_desc text,
mon_times_circul_increased bigint,
mon_times_circul_reduced bigint,
change_num_circul_increased bigint,
change_num_circul_reduced bigint,
mon_times_tax bigint,
change_num_tax bigint,
role_create_time timestamp with time zone,
svr_desc text,
device_id text
)
LOGICAL PARTITION BY LIST (ds)
WITH (
orientation = 'column',
distribution_key = 'app_id',
partition_expiration_time = '30 day',
partition_require_filter = TRUE
);
CREATE TABLE datasci.dws_resc_monetary_change_detail_h (
event_date timestamp with time zone NOT NULL,
event_hour timestamp with time zone NOT NULL,
gm_id bigint,
app_id bigint,
app_id_str text,
app_name text,
prod_id text,
svr_id text,
svr_name text,
user_id text,
role_id text,
role_name text,
role_level text,
role_att text,
consumable_grade text,
job_id text,
job_name text,
change_type text,
change_reason text,
latest_map text,
latest_task text,
mon_times bigint,
change_num bigint,
latest_num bigint,
event_time timestamp with time zone NOT NULL,
ds date NOT NULL,
get_prod_id text,
get_prod_num text,
extra_info text,
device_id text
)
LOGICAL PARTITION BY LIST (ds)
WITH (
orientation = 'column',
distribution_key = 'app_id',
partition_expiration_time = '181 day',
partition_require_filter = TRUE
);
CREATE TABLE datasci.dws_role_churn_log_original_d (
appid bigint NOT NULL,
user_id text NOT NULL,
role_id text NOT NULL,
ds text NOT NULL,
event_time bigint NOT NULL,
sub_status text,
channel text,
device_id text
)
LOGICAL PARTITION BY LIST (ds)
WITH (
orientation = 'column',
distribution_key = 'app_id',
partition_expiration_time = '31 day',
partition_require_filter = TRUE
);
CREATE TABLE datasci.dws_role_last_action_d (
app_id integer NOT NULL,
app_name text,
svr_id text,
svr_name text,
user_id text,
role_id text NOT NULL,
role_name text,
job_id text,
job_name text,
last_map text,
death_enemy_cnt integer,
death_person_cnt integer,
victor_type text,
victor_role_id text,
victor_role_name text,
victor_level text,
victor_job text,
last_task_id text,
last_task_name text,
last_task_status integer,
last_role_level text,
ds date NOT NULL
,PRIMARY KEY (app_id, role_id, ds)
)
LOGICAL PARTITION BY LIST (ds)
WITH (
orientation = 'column',
distribution_key = 'app_id',
partition_expiration_time = '31 day',
partition_require_filter = TRUE
);
CREATE TABLE public.ods_game_pm_log (
gmid bigint NOT NULL,
appid bigint NOT NULL,
app_id text NOT NULL,
app_ver text,
sdk_ver text,
channel text NOT NULL,
country text,
province text,
city text,
isp text,
ip text,
device_width integer,
device_height integer,
device_id text NOT NULL,
device_lang text,
device_model text,
device_brand text,
device_os text,
device_type text,
event_name text NOT NULL,
event_type text,
event_time timestamp with time zone NOT NULL,
net_type text,
user_id text,
order_id text,
amount bigint,
platform text,
status integer,
servid text,
server_name text,
role_id text,
role_name text,
role_level text,
job_id text,
job_name text,
var1 text,
var2 text,
var3 text,
var4 text,
var5 text,
var6 text,
var7 text,
var8 text,
var9 text,
var10 text,
var11 text,
var12 text,
var13 text,
var14 text,
var15 text,
var16 text,
var17 text,
var18 text,
var19 text,
var20 text,
var21 text,
var22 text,
var23 text,
var24 text,
var25 text,
var26 text,
var27 text,
var28 text,
var29 text,
var30 text,
ds date NOT NULL,
prodid text,
prod_name text,
sub_servid text,
sub_server_name text
)
LOGICAL PARTITION BY LIST (ds)
WITH (
orientation = 'column',
distribution_key = 'app_id',
partition_expiration_time = '16 day',
partition_require_filter = TRUE
);

View File

@ -0,0 +1,51 @@
CREATE TABLE public.tab_spend (
id BIGINT NOT NULL ,
user_id BIGINT NOT NULL ,
user_account text,
user_nickname text,
game_id BIGINT NOT NULL ,
game_appid text ,
game_name text ,
server_id text ,
server_name text ,
game_player_id text ,
game_player_name text,
promote_id BIGINT NOT NULL ,
promote_account text,
order_number text ,
pay_order_number text ,
props_name text ,
pay_amount numeric(10,2) ,
pay_time BIGINT ,
pay_status int4,
pay_game_status int4 ,
extend text ,
pay_way int4 ,
spend_ip text ,
settle_check int4 NOT NULL ,
selle_status BIGINT NOT NULL ,
selle_ratio DOUBLE PRECISION ,
sub_status BIGINT NOT NULL,
selle_time text ,
sdk_version int4 ,
cost numeric(10,2) ,
discount_type BIGINT ,
auto_compensation BIGINT ,
diamond text,
payplatform2cp text ,
platform_id BIGINT ,
settle_ratio_id BIGINT ,
pay_game_amount numeric(10,2) ,
settle_state int4 NOT NULL ,
ratio_state int4 NOT NULL ,
is_box_pay int4 NOT NULL ,
create_time BIGINT NOT NULL ,
pay_company text ,
live_no BIGINT NOT NULL ,
scene int4 NOT NULL ,
main_server_id BIGINT ,
refund_type int4 ,
ticket_type int4 ,
pay_uid text
,PRIMARY KEY (id)
)

File diff suppressed because it is too large Load Diff

25
python/uv/1.sql Normal file
View File

@ -0,0 +1,25 @@
uv python find 3.7
uv venv -p python3.11 my-project-env
uv init
uv add xxx
uv run main.py
uvx / uv tool run
uv tool install
uv tool uninstall
uv tool list
uv tool update-shell shell
uv pip install
uv pip show
uv pip freeze
uv pip check
uv pip list
uv pip uninstall
uv pip tree
uv cache clean
uv cache prune
uv cache diruv缓存目录路径
uv tool diruv工具目录路径
uv python dir uv Python
uv self update uv