Hoey笔记

和有趣的人做尽有趣的事


  • Home

  • Archives

  • Sitemap

  • Search

HSD高频航班累订阅事件说明-ICKI

Posted on 2024-05-21

8类基础数据

Mockjs 造数据写入Mysql

Posted on 2024-05-20

Mock.js 是一个用于生成随机数据和拦截 Ajax 请求的库,常用于前端开发中对接口进行模拟。通过 Mock.js,可以快速生成各种类型的随机数据,包括但不限于文本、数字、日期、布尔值等,从而方便地进行数据模拟和测试。除了数据生成外,Mock.js 也可以拦截前端发送的 Ajax 请求,返回预先设定的模拟数据,使前端开发人员能够在没有后端支持的情况下进行接口调试及开发。

下面我们使用Mockjs生成数据,写入到Mysql数据库

下面是项目目录结构:

1
2
3
4
5
6
.
├── main.js
├── package.json
└── util
├── dbutil.js
└── mockutil.js

提前使用npm或cnpm安装所需要的依赖:

1
2
cnpm install mockjs --save
cnpm install mysql --save

数据库建表

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41

CREATE TABLE aoc_flight_info_dw (
id BIGINT AUTO_INCREMENT COMMENT '主键' PRIMARY KEY,
flight_date DATE NOT NULL COMMENT '航班日期',
flight_no VARCHAR(10) NOT NULL COMMENT '航班号',
dep_airport VARCHAR(4) NOT NULL COMMENT '起飞机场',
arr_airport VARCHAR(4) NOT NULL COMMENT '到达机场',
transfer_number INT(10) DEFAULT 0 NOT NULL COMMENT '中转人数',
etd DATETIME NOT NULL COMMENT '预计起飞时间',
eta DATETIME NOT NULL COMMENT '预计到达时间',
exist_vip TINYINT(1) DEFAULT 0 NOT NULL COMMENT '是否有VIP旅客',
previous_delay TINYINT(1) DEFAULT 0 NOT NULL COMMENT '前段航班是否延误',
estimate_delay_time INT(10) DEFAULT 0 NOT NULL COMMENT '预计延误时间',
std DATETIME NOT NULL COMMENT '计划起飞时间',
sta DATETIME NOT NULL COMMENT '计划到达时间',
flight_type VARCHAR(10) NOT NULL COMMENT '航班性质',
d_or_i VARCHAR(10) NOT NULL COMMENT '国际/国内/地区',
ac_type VARCHAR(10) NOT NULL COMMENT '机型',
ac_reg VARCHAR(10) NOT NULL COMMENT '机号',
warn_level VARCHAR(10) NULL COMMENT '预警航班等级',
create_time DATETIME DEFAULT current_timestamp NOT NULL COMMENT '创建时间',
update_time DATETIME DEFAULT current_timestamp NOT NULL ON UPDATE current_timestamp COMMENT '更新时间',
CONSTRAINT unq_flight_idx UNIQUE (flight_date, flight_no, dep_airport, arr_airport)
) COMMENT '航班信息表同步数仓' CHARSET = utf8mb4;

CREATE INDEX aoc_flight_info_flight_date_idx ON aoc_flight_info_dw (flight_date, ac_reg);


CREATE TABLE aoc_passenger_info_dw (
id BIGINT AUTO_INCREMENT COMMENT '主键' PRIMARY KEY,
aoc_flight_id BIGINT NOT NULL COMMENT '航班信息表id',
passenger_name VARCHAR(100) DEFAULT '' NOT NULL COMMENT '姓名',
vip_type VARCHAR(10) DEFAULT '' NOT NULL COMMENT 'VIP类型',
vip_line VARCHAR(100) DEFAULT '' NOT NULL COMMENT 'VIP航程',
create_time DATETIME DEFAULT current_timestamp NOT NULL COMMENT '创建时间',
update_time DATETIME DEFAULT current_timestamp NOT NULL ON UPDATE current_timestamp COMMENT '更新时间'
) COMMENT 'VIP旅客信息表数仓同步' CHARSET = utf8mb4;

CREATE INDEX aoc_passenger_info_aoc_flight_id_idx ON aoc_passenger_info_dw (aoc_flight_id);


1. 连接Mysql数据库

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
var Mysql = require('mysql');

var conn = Mysql.createConnection({
host : '172.22.17.38',
user : 'u_tqd',
password : '62w5LjLi',
port: '3306',
database: 'tqddb',
});

exports.insert = function(sql, dim_arr){
conn.connect();
dim_arr.data.forEach(element=>{
conn.query(sql, element, function(err, result){
if(err){
console.log('err:', err.message);
}
console.log('------INSERT-------');
console.log('res:', result);
console.log('------SUCCESS-------');
});
})
conn.end();
}

2. 使用mock伪造数据

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
var Mock = require('mockjs');

exports.aoc_flight_info_dw = Mock.mock({
"data|500": [
[
"@increment(1)", // id
"@date('yyyy-MM-dd')", // flight_date
/^HO[0-9]{4}$/, // flight_no
/^[A-Z]{3}$/, // dep_airport
/^[A-Z]{3}$/, // arr_airport
"@integer(0, 20 )", // transfer_number
"@datetime('yyyy-MM-dd HH:mm:ss')", // etd
"@datetime('yyyy-MM-dd HH:mm:ss')", // eta
"@integer(0, 1 )", // exist_vip
"@integer(0, 1 )", // previous_delay
"@integer(1800, 18000 )", // estimate_delay_time
"@datetime('yyyy-MM-dd HH:mm:ss')", // std
"@datetime('yyyy-MM-dd HH:mm:ss')", // sta
"@integer(0, 3 )", // flight_type
/D|I|R/, // d_or_i
/A320|A321|B787|A319/, // ac_type
/^[0-9]{4}$/, // ac_reg
"@integer(0, 1 )", // warn_level
"@datetime('yyyy-MM-dd HH:mm:ss')", // create_time
"@datetime('yyyy-MM-dd HH:mm:ss')", // update_time
]
]
});

exports.aoc_passenger_info_dw = Mock.mock({
"data|500": [
[
"@increment(1)", // id
"@integer(0, 1000 )", // aoc_flight_id
"@cname()", // passenger_name
"@integer(0, 3 )", // vip_type
"@integer(0, 3 )", // vip_line
"@datetime('yyyy-MM-dd HH:mm:ss')",// create_time
"@datetime('yyyy-MM-dd HH:mm:ss')",// update_time
]
]
});

3. 编写main

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
var mockutil = require('./util/mockutil.js');
var dbutil = require('./util/dbutil.js');

function aoc_flight_info_dw(){
var sql = 'INSERT INTO tqddb.aoc_flight_info_dw (id, flight_date, flight_no, dep_airport, arr_airport, transfer_number, etd, eta, exist_vip, previous_delay, estimate_delay_time, std, sta, flight_type, d_or_i, ac_type, ac_reg, warn_level, create_time, update_time) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);'
dbutil.insert(sql, mockutil.aoc_flight_info_dw);
}

function aoc_passenger_info_dw(){
var sql = 'INSERT INTO tqddb.aoc_passenger_info_dw (id, aoc_flight_id, passenger_name, vip_type, vip_line, create_time, update_time) VALUES (?,?,?,?,?,?,?);'
dbutil.insert(sql, mockutil.aoc_passenger_info_dw);
}

function main(){
//aoc_flight_info_dw();
aoc_passenger_info_dw()

}

main();

K2K Template 脚本

Posted on 2024-05-17

使用flink 同步Kafka到Kafka

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
-- 前两段是kafka2kafka
-- LDP init的话用目录下面的python脚本
CREATE TABLE kafka_source_ldp (
a STRING
)with ( 'connector' = 'kafka',
'topic' = 'LOADSHEET.LDP',
'scan.startup.mode' = 'earliest-offset',
'properties.group.id' = 'pipeline_ums',
'properties.bootstrap.servers' = 'jxbigdatakafka01.juneyaoair.com:9092,jxbigdatakafka02.juneyaoair.com:9092,jxbigdatakafka03.juneyaoair.com:9092',
'properties.fetch.max.bytes' = '5242880',
'properties.allow.auto.create.topics' = 'false',
'properties.enable.auto.commit' = 'true',
'format' = 'raw' );

CREATE TABLE kafka_sink_ldp (
a STRING
)with ( 'connector' = 'kafka',
'topic' = 'JXHK.AUTO.DC_AOC_LOADSHEET_LDP',
'properties.bootstrap.servers' = '172.27.2.3:9092,172.27.2.4:9092,172.27.2.10:9092',
'properties.allow.auto.create.topics' = 'false',
'properties.enable.auto.commit' = 'true',
'format' = 'raw' );

insert into kafka_sink_ldp
select * from kafka_source_ldp;

Doris关联Hive表

Posted on 2024-05-15

Doris关联Hive外部数据源

元数据创建

1
2
3
4
5
6
7
8
9
10
11
CREATE CATALOG test_hive PROPERTIES (
'type'='hms',
'hive.metastore.uris' = 'thrift://172.22.17.20:9083,thrift://172.22.17.21:9083,thrift://172.22.17.22:9083',
'hadoop.username' = 'hive',
'dfs.nameservices' = 'Tdsop',
'dfs.ha.namenodes.Tdsop' = 'nn1,nn2',
'dfs.namenode.rpc-address.Tdsop.nn1' = '172.22.17.20:8022',
'dfs.namenode.rpc-address.Tdsop.nn2' = '172.22.17.21:8022',
'dfs.client.failover.proxy.provider.Tdsop' = 'org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider'
);

常用命令

1
2
3
4
5
6
SHOW catalogs;
SHOW CATALOG test_hive;
SHOW DATABASES FROM test_hive;
SHOW TABLES FROM test_hive.ods;
SELECT * FROM test_hive.ods.ce_flight;

HSD梳理

Posted on 2024-05-15

HSD名称及英文简称映射

名称 英文简称 参考黑屏指令
航班计划数据 iSCH ST
库存数据 iINV RO
客票数据 iETS DETR
EMD票数据 iEMD DEMD
订座PNR数据 iPNR RT
订座PNR数据(历史) iPNRH RTC
离港旅客数据 iCKI PR
离港航班数据 iFLT SY

中转航班的逻辑

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
-- 按 照票号+出票日期 取最新的数据
create table test.djj_temp_hsd_iets as
select
*
from
(
select
a.stamp,
a.dttm,
a.ticketidentification_tktissuedate,
a.ticketimage_ticketnumber,
a.itinerary_ticketcoupon,
row_number() over(partition by a.ticketidentification_tktissuedate, a.ticketimage_ticketnumber order by a.dttm desc) r
from
ods.cst_hsd_iets a
) t
where r=1
;


-- 拆分json
drop table test.djj_temp_hsd_iets_01;
create table test.djj_temp_hsd_iets_01 as
select
a.stamp,
a.dttm,
a.ticketidentification_tktissuedate issuedate, -- 出票日期
substr(a.ticketimage_ticketnumber,1,13) ticketnumber, --票号
get_json_object(itinerary, '$.CouponNumber') couponNumber,
get_json_object(itinerary, '$.CouponStatus') couponStatus, -- 客票状态
get_json_object(get_json_object(get_json_object(itinerary, '$.Flight'), '$.Carrier'), '$.AirlineCode') carrier_airlinecode,
get_json_object(get_json_object(get_json_object(get_json_object(itinerary, '$.Flight'), '$.Carrier'), '$.FlightNumber'), '$.Value') carrier_flightnumber,
get_json_object(get_json_object(get_json_object(get_json_object(itinerary, '$.Flight'), '$.Carrier'), '$.FlightNumber'), '$.Suffix') carrier_flightnumber_suffix,
get_json_object(get_json_object(get_json_object(itinerary, '$.Flight'), '$.OperatingCarrier'), '$.AirlineCode') operating_airlinecode, -- 承运航司
get_json_object(get_json_object(get_json_object(get_json_object(itinerary, '$.Flight'), '$.OperatingCarrier'), '$.FlightNumber'), '$.Value') operating_flightnumber, -- 承运航班号
get_json_object(get_json_object(get_json_object(get_json_object(itinerary, '$.Flight'), '$.OperatingCarrier'), '$.FlightNumber'), '$.Suffix') operating_flightnumber_suffix, -- 承运航班号后缀
get_json_object(get_json_object(get_json_object(itinerary, '$.Flight'), '$.Departure'), '$.Date') departure_date,
get_json_object(get_json_object(get_json_object(itinerary, '$.Flight'), '$.Departure'), '$.AirportCode') departure_airportcode,
get_json_object(get_json_object(get_json_object(itinerary, '$.Flight'), '$.Arrival'), '$.AirportCode') arrival_airportcode,
get_json_object(get_json_object(get_json_object(itinerary, '$.Open'), '$.OpenDeparture'), '$.AirportCode') open_departure_airportcode,
get_json_object(get_json_object(get_json_object(itinerary, '$.Open'), '$.OpenArrival'), '$.AirportCode') open_arrival_airportcode,
get_json_object(get_json_object(itinerary, '$.Open'), '$.OperatingCarrier') open_operatingcarrier
from
test.djj_temp_hsd_iets a
LATERAL VIEW explode(split(
regexp_replace(
regexp_replace(
itinerary_ticketcoupon,
'\\[|\\]' , ''),-- 将json数组两边的中括号去掉

'\\}\\,\\{' , '\\}\\;\\{'),-- 将json数组元素之间的逗号换成分号

'\\;')-- 以分号作为分隔符(split函数以分号作为分隔)
) a as itinerary
;


-- 合并出发到达
drop table test.djj_temp_hsd_iets_02;
create table test.djj_temp_hsd_iets_02 as
select
a.issuedate,
a.ticketnumber,
a.couponnumber,
a.couponstatus,
coalesce(a.departure_airportcode, a.open_departure_airportcode) departure_airportcode,
coalesce(a.arrival_airportcode, a.open_arrival_airportcode) arrival_airportcode
from
test.djj_temp_hsd_iets_01 a
;


-- 匹配出发到达城市
drop table test.djj_temp_hsd_iets_03;
create table test.djj_temp_hsd_iets_03 as
select
a.issuedate,
a.ticketnumber,
a.couponnumber,
a.couponstatus,
a.departure_airportcode,
a.arrival_airportcode,
b.city_code departure_citycode,
c.city_code arrival_citycode,
coalesce(b.city_code, a.departure_airportcode) departure, -- 以防有的机场匹配不到城市
coalesce(c.city_code, a.arrival_airportcode) arrival -- 以防有的机场匹配不到城市
from
test.djj_temp_hsd_iets_02 a
left join
ods.t_airport_info_zp b on a.departure_airportcode=b.airport_code and b.dp='ACTIVE'
left join
ods.t_airport_info_zp c on a.arrival_airportcode=c.airport_code and c.dp='ACTIVE'
where
a.couponstatus<>'V' -- 排除废票
;



-- 匹配出发到达城市
drop table test.djj_temp_hsd_iets_04;
create table test.djj_temp_hsd_iets_04 as
select
t.issuedate,
t.ticketnumber,
t.seg_num,
substr(origin,1,3) origin,
substr(destination,-3,3) destination
from
(
select
a.issuedate,
a.ticketnumber,
sum(1) over(partition by a.issuedate, a.ticketnumber) seg_num, -- 总航段数
concat_ws(',', collect_list(departure) over(partition by a.issuedate, a.ticketnumber order by a.couponnumber)) as origin,
concat_ws(',', collect_list(arrival) over(partition by a.issuedate, a.ticketnumber order by a.couponnumber)) as destination,
row_number() over(partition by a.issuedate, a.ticketnumber order by a.couponnumber desc) as r
from
test.djj_temp_hsd_iets_03 a
) t
where
r=1
and substr(origin,1,3)<>substr(destination,-3,3) -- 排除往返票
and seg_num>1 -- 筛选多段的
;


select
issuedate,
ticketnumber,
seg_num,
origin,
destination
from
test.djj_temp_hsd_iets_04 a
;

FlinkSQL Kafka2Doris Table program cannot be compiled This is a bug. Please file an issue

Posted on 2024-05-07

错误日志:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
2024-05-07 17:34:33,817 INFO  org.apache.doris.flink.table.DorisDynamicTableSink           [] - Send request to Doris FE 'http://10.17.23.55:8030/api/ods/ods_fin_nc_bd_psndoc/_schema' with user 'juneyaoair_etl'.
2024-05-07 17:34:34,027 INFO org.apache.doris.flink.sink.DorisSink [] - Send request to Doris FE 'http://10.17.23.55:8030/api/ods/ods_fin_nc_bd_psndoc/_schema' with user 'juneyaoair_etl'.
2024-05-07 17:35:09,997 WARN org.apache.flink.table.runtime.generated.GeneratedClass [] - Failed to compile split code, falling back to original code
org.apache.flink.util.FlinkRuntimeException: org.apache.flink.api.common.InvalidProgramException: Table program cannot be compiled. This is a bug. Please file an issue.
at org.apache.flink.table.runtime.generated.CompileUtils.compile(CompileUtils.java:94) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.apache.flink.table.runtime.generated.GeneratedClass.compile(GeneratedClass.java:97) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.apache.flink.table.runtime.generated.GeneratedClass.getClass(GeneratedClass.java:120) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.apache.flink.table.runtime.operators.CodeGenOperatorFactory.getStreamOperatorClass(CodeGenOperatorFactory.java:51) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.apache.flink.streaming.api.graph.StreamingJobGraphGenerator.preValidate(StreamingJobGraphGenerator.java:498) ~[flink-dist-1.16.2.jar:1.16.2]
at org.apache.flink.streaming.api.graph.StreamingJobGraphGenerator.createJobGraph(StreamingJobGraphGenerator.java:221) ~[flink-dist-1.16.2.jar:1.16.2]
at org.apache.flink.streaming.api.graph.StreamingJobGraphGenerator.createJobGraph(StreamingJobGraphGenerator.java:153) ~[flink-dist-1.16.2.jar:1.16.2]
at org.apache.flink.streaming.api.graph.StreamGraph.getJobGraph(StreamGraph.java:1024) ~[flink-dist-1.16.2.jar:1.16.2]
at org.apache.flink.client.StreamGraphTranslator.translateToJobGraph(StreamGraphTranslator.java:56) ~[flink-dist-1.16.2.jar:1.16.2]
at org.apache.flink.client.FlinkPipelineTranslationUtil.getJobGraph(FlinkPipelineTranslationUtil.java:43) ~[flink-dist-1.16.2.jar:1.16.2]
at org.apache.flink.client.deployment.executors.PipelineExecutorUtils.getJobGraph(PipelineExecutorUtils.java:59) ~[flink-dist-1.16.2.jar:1.16.2]
at org.apache.flink.client.deployment.executors.AbstractJobClusterExecutor.execute(AbstractJobClusterExecutor.java:72) ~[flink-dist-1.16.2.jar:1.16.2]
at org.apache.flink.streaming.api.environment.StreamExecutionEnvironment.executeAsync(StreamExecutionEnvironment.java:2188) ~[flink-dist-1.16.2.jar:1.16.2]
at org.apache.flink.client.program.StreamContextEnvironment.executeAsync(StreamContextEnvironment.java:206) ~[flink-dist-1.16.2.jar:1.16.2]
at org.apache.flink.table.planner.delegation.DefaultExecutor.executeAsync(DefaultExecutor.java:95) ~[flink-table-planner_2.12-1.16.2.jar:1.16.2]
at org.apache.flink.table.api.internal.TableEnvironmentImpl.executeInternal(TableEnvironmentImpl.java:850) ~[flink-table-api-java-uber-1.16.2.jar:1.16.2]
at org.apache.flink.table.api.internal.TableEnvironmentImpl.executeInternal(TableEnvironmentImpl.java:827) ~[flink-table-api-java-uber-1.16.2.jar:1.16.2]
at org.apache.flink.table.api.internal.StatementSetImpl.execute(StatementSetImpl.java:108) ~[flink-table-api-java-uber-1.16.2.jar:1.16.2]
at com.juneyaoair.flink.streaming.core.JobApplication.main(JobApplication.java:82) ~[flink-streaming-core-1.16.2.jar:2.1.6-SNAPSHOT]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_251]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_251]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_251]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_251]
at org.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:355) ~[flink-dist-1.16.2.jar:1.16.2]
at org.apache.flink.client.program.PackagedProgram.invokeInteractiveModeForExecution(PackagedProgram.java:222) ~[flink-dist-1.16.2.jar:1.16.2]
at org.apache.flink.client.ClientUtils.executeProgram(ClientUtils.java:98) ~[flink-dist-1.16.2.jar:1.16.2]
at org.apache.flink.client.cli.CliFrontend.executeProgram(CliFrontend.java:843) ~[flink-dist-1.16.2.jar:1.16.2]
at org.apache.flink.client.cli.CliFrontend.run(CliFrontend.java:240) ~[flink-dist-1.16.2.jar:1.16.2]
at org.apache.flink.client.cli.CliFrontend.parseAndRun(CliFrontend.java:1087) ~[flink-dist-1.16.2.jar:1.16.2]
at org.apache.flink.client.cli.CliFrontend.lambda$main$10(CliFrontend.java:1165) ~[flink-dist-1.16.2.jar:1.16.2]
at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_251]
at javax.security.auth.Subject.doAs(Subject.java:422) [?:1.8.0_251]
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1875) [hadoop-common.jar:?]
at org.apache.flink.runtime.security.contexts.HadoopSecurityContext.runSecured(HadoopSecurityContext.java:41) [flink-dist-1.16.2.jar:1.16.2]
at org.apache.flink.client.cli.CliFrontend.main(CliFrontend.java:1165) [flink-dist-1.16.2.jar:1.16.2]
Caused by: org.apache.flink.shaded.guava30.com.google.common.util.concurrent.UncheckedExecutionException: org.apache.flink.api.common.InvalidProgramException: Table program cannot be compiled. This is a bug. Please file an issue.
at org.apache.flink.shaded.guava30.com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2051) ~[java-udf-warehouse.jar:?]
at org.apache.flink.shaded.guava30.com.google.common.cache.LocalCache.get(LocalCache.java:3962) ~[java-udf-warehouse.jar:?]
at org.apache.flink.shaded.guava30.com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4859) ~[java-udf-warehouse.jar:?]
at org.apache.flink.table.runtime.generated.CompileUtils.compile(CompileUtils.java:92) ~[flink-table-runtime-1.16.2.jar:1.16.2]
... 34 more
Caused by: org.apache.flink.api.common.InvalidProgramException: Table program cannot be compiled. This is a bug. Please file an issue.
at org.apache.flink.table.runtime.generated.CompileUtils.doCompile(CompileUtils.java:107) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.apache.flink.table.runtime.generated.CompileUtils.lambda$compile$0(CompileUtils.java:92) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.apache.flink.shaded.guava30.com.google.common.cache.LocalCache$LocalManualCache$1.load(LocalCache.java:4864) ~[java-udf-warehouse.jar:?]
at org.apache.flink.shaded.guava30.com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3529) ~[java-udf-warehouse.jar:?]
at org.apache.flink.shaded.guava30.com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2278) ~[java-udf-warehouse.jar:?]
at org.apache.flink.shaded.guava30.com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2155) ~[java-udf-warehouse.jar:?]
at org.apache.flink.shaded.guava30.com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2045) ~[java-udf-warehouse.jar:?]
at org.apache.flink.shaded.guava30.com.google.common.cache.LocalCache.get(LocalCache.java:3962) ~[java-udf-warehouse.jar:?]
at org.apache.flink.shaded.guava30.com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4859) ~[java-udf-warehouse.jar:?]
at org.apache.flink.table.runtime.generated.CompileUtils.compile(CompileUtils.java:92) ~[flink-table-runtime-1.16.2.jar:1.16.2]
... 34 more
Caused by: org.codehaus.commons.compiler.CompileException: Line 2, Column 19: Constant pool for class StreamExecCalc$131226 has grown past JVM limit of 0xFFFF
at org.codehaus.janino.UnitCompiler.compileUnit(UnitCompiler.java:380) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.codehaus.janino.SimpleCompiler.cook(SimpleCompiler.java:237) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.codehaus.janino.SimpleCompiler.compileToClassLoader(SimpleCompiler.java:465) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.codehaus.janino.SimpleCompiler.cook(SimpleCompiler.java:216) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.codehaus.janino.SimpleCompiler.cook(SimpleCompiler.java:207) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.codehaus.commons.compiler.Cookable.cook(Cookable.java:80) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.codehaus.commons.compiler.Cookable.cook(Cookable.java:75) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.apache.flink.table.runtime.generated.CompileUtils.doCompile(CompileUtils.java:104) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.apache.flink.table.runtime.generated.CompileUtils.lambda$compile$0(CompileUtils.java:92) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.apache.flink.shaded.guava30.com.google.common.cache.LocalCache$LocalManualCache$1.load(LocalCache.java:4864) ~[java-udf-warehouse.jar:?]
at org.apache.flink.shaded.guava30.com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3529) ~[java-udf-warehouse.jar:?]
at org.apache.flink.shaded.guava30.com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2278) ~[java-udf-warehouse.jar:?]
at org.apache.flink.shaded.guava30.com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2155) ~[java-udf-warehouse.jar:?]
at org.apache.flink.shaded.guava30.com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2045) ~[java-udf-warehouse.jar:?]
at org.apache.flink.shaded.guava30.com.google.common.cache.LocalCache.get(LocalCache.java:3962) ~[java-udf-warehouse.jar:?]
at org.apache.flink.shaded.guava30.com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4859) ~[java-udf-warehouse.jar:?]
at org.apache.flink.table.runtime.generated.CompileUtils.compile(CompileUtils.java:92) ~[flink-table-runtime-1.16.2.jar:1.16.2]
... 34 more
Caused by: org.codehaus.janino.util.ClassFile$ClassFileException: Constant pool for class StreamExecCalc$131226 has grown past JVM limit of 0xFFFF
at org.codehaus.janino.util.ClassFile.addToConstantPool(ClassFile.java:537) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.codehaus.janino.util.ClassFile.addConstantUtf8Info(ClassFile.java:481) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.codehaus.janino.util.ClassFile.addMethodInfo(ClassFile.java:600) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:3222) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:1357) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:1330) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:822) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:432) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.codehaus.janino.UnitCompiler.access$400(UnitCompiler.java:215) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.codehaus.janino.UnitCompiler$2.visitPackageMemberClassDeclaration(UnitCompiler.java:411) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.codehaus.janino.UnitCompiler$2.visitPackageMemberClassDeclaration(UnitCompiler.java:406) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.codehaus.janino.Java$PackageMemberClassDeclaration.accept(Java.java:1414) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:406) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.codehaus.janino.UnitCompiler.compileUnit(UnitCompiler.java:378) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.codehaus.janino.SimpleCompiler.cook(SimpleCompiler.java:237) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.codehaus.janino.SimpleCompiler.compileToClassLoader(SimpleCompiler.java:465) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.codehaus.janino.SimpleCompiler.cook(SimpleCompiler.java:216) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.codehaus.janino.SimpleCompiler.cook(SimpleCompiler.java:207) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.codehaus.commons.compiler.Cookable.cook(Cookable.java:80) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.codehaus.commons.compiler.Cookable.cook(Cookable.java:75) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.apache.flink.table.runtime.generated.CompileUtils.doCompile(CompileUtils.java:104) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.apache.flink.table.runtime.generated.CompileUtils.lambda$compile$0(CompileUtils.java:92) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.apache.flink.shaded.guava30.com.google.common.cache.LocalCache$LocalManualCache$1.load(LocalCache.java:4864) ~[java-udf-warehouse.jar:?]
at org.apache.flink.shaded.guava30.com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3529) ~[java-udf-warehouse.jar:?]
at org.apache.flink.shaded.guava30.com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2278) ~[java-udf-warehouse.jar:?]
at org.apache.flink.shaded.guava30.com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2155) ~[java-udf-warehouse.jar:?]
at org.apache.flink.shaded.guava30.com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2045) ~[java-udf-warehouse.jar:?]
at org.apache.flink.shaded.guava30.com.google.common.cache.LocalCache.get(LocalCache.java:3962) ~[java-udf-warehouse.jar:?]
at org.apache.flink.shaded.guava30.com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4859) ~[java-udf-warehouse.jar:?]
at org.apache.flink.table.runtime.generated.CompileUtils.compile(CompileUtils.java:92) ~[flink-table-runtime-1.16.2.jar:1.16.2]
... 34 more
2024-05-07 17:37:08,897 ERROR com.juneyaoair.flink.streaming.core.JobApplication [] - 任务执行失败:
org.apache.flink.table.api.TableException: Failed to execute sql
at org.apache.flink.table.api.internal.TableEnvironmentImpl.executeInternal(TableEnvironmentImpl.java:867) ~[flink-table-api-java-uber-1.16.2.jar:1.16.2]
at org.apache.flink.table.api.internal.TableEnvironmentImpl.executeInternal(TableEnvironmentImpl.java:827) ~[flink-table-api-java-uber-1.16.2.jar:1.16.2]
at org.apache.flink.table.api.internal.StatementSetImpl.execute(StatementSetImpl.java:108) ~[flink-table-api-java-uber-1.16.2.jar:1.16.2]
at com.juneyaoair.flink.streaming.core.JobApplication.main(JobApplication.java:82) ~[flink-streaming-core-1.16.2.jar:2.1.6-SNAPSHOT]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_251]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_251]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_251]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_251]
at org.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:355) ~[flink-dist-1.16.2.jar:1.16.2]
at org.apache.flink.client.program.PackagedProgram.invokeInteractiveModeForExecution(PackagedProgram.java:222) ~[flink-dist-1.16.2.jar:1.16.2]
at org.apache.flink.client.ClientUtils.executeProgram(ClientUtils.java:98) ~[flink-dist-1.16.2.jar:1.16.2]
at org.apache.flink.client.cli.CliFrontend.executeProgram(CliFrontend.java:843) ~[flink-dist-1.16.2.jar:1.16.2]
at org.apache.flink.client.cli.CliFrontend.run(CliFrontend.java:240) ~[flink-dist-1.16.2.jar:1.16.2]
at org.apache.flink.client.cli.CliFrontend.parseAndRun(CliFrontend.java:1087) ~[flink-dist-1.16.2.jar:1.16.2]
at org.apache.flink.client.cli.CliFrontend.lambda$main$10(CliFrontend.java:1165) ~[flink-dist-1.16.2.jar:1.16.2]
at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_251]
at javax.security.auth.Subject.doAs(Subject.java:422) [?:1.8.0_251]
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1875) [hadoop-common.jar:?]
at org.apache.flink.runtime.security.contexts.HadoopSecurityContext.runSecured(HadoopSecurityContext.java:41) [flink-dist-1.16.2.jar:1.16.2]
at org.apache.flink.client.cli.CliFrontend.main(CliFrontend.java:1165) [flink-dist-1.16.2.jar:1.16.2]
Caused by: org.apache.flink.util.FlinkRuntimeException: org.apache.flink.api.common.InvalidProgramException: Table program cannot be compiled. This is a bug. Please file an issue.
at org.apache.flink.table.runtime.generated.CompileUtils.compile(CompileUtils.java:94) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.apache.flink.table.runtime.generated.GeneratedClass.compile(GeneratedClass.java:101) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.apache.flink.table.runtime.generated.GeneratedClass.getClass(GeneratedClass.java:120) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.apache.flink.table.runtime.operators.CodeGenOperatorFactory.getStreamOperatorClass(CodeGenOperatorFactory.java:51) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.apache.flink.streaming.api.graph.StreamingJobGraphGenerator.preValidate(StreamingJobGraphGenerator.java:498) ~[flink-dist-1.16.2.jar:1.16.2]
at org.apache.flink.streaming.api.graph.StreamingJobGraphGenerator.createJobGraph(StreamingJobGraphGenerator.java:221) ~[flink-dist-1.16.2.jar:1.16.2]
at org.apache.flink.streaming.api.graph.StreamingJobGraphGenerator.createJobGraph(StreamingJobGraphGenerator.java:153) ~[flink-dist-1.16.2.jar:1.16.2]
at org.apache.flink.streaming.api.graph.StreamGraph.getJobGraph(StreamGraph.java:1024) ~[flink-dist-1.16.2.jar:1.16.2]
at org.apache.flink.client.StreamGraphTranslator.translateToJobGraph(StreamGraphTranslator.java:56) ~[flink-dist-1.16.2.jar:1.16.2]
at org.apache.flink.client.FlinkPipelineTranslationUtil.getJobGraph(FlinkPipelineTranslationUtil.java:43) ~[flink-dist-1.16.2.jar:1.16.2]
at org.apache.flink.client.deployment.executors.PipelineExecutorUtils.getJobGraph(PipelineExecutorUtils.java:59) ~[flink-dist-1.16.2.jar:1.16.2]
at org.apache.flink.client.deployment.executors.AbstractJobClusterExecutor.execute(AbstractJobClusterExecutor.java:72) ~[flink-dist-1.16.2.jar:1.16.2]
at org.apache.flink.streaming.api.environment.StreamExecutionEnvironment.executeAsync(StreamExecutionEnvironment.java:2188) ~[flink-dist-1.16.2.jar:1.16.2]
at org.apache.flink.client.program.StreamContextEnvironment.executeAsync(StreamContextEnvironment.java:206) ~[flink-dist-1.16.2.jar:1.16.2]
at org.apache.flink.table.planner.delegation.DefaultExecutor.executeAsync(DefaultExecutor.java:95) ~[flink-table-planner_2.12-1.16.2.jar:1.16.2]
at org.apache.flink.table.api.internal.TableEnvironmentImpl.executeInternal(TableEnvironmentImpl.java:850) ~[flink-table-api-java-uber-1.16.2.jar:1.16.2]
... 19 more
Caused by: org.apache.flink.shaded.guava30.com.google.common.util.concurrent.UncheckedExecutionException: org.apache.flink.api.common.InvalidProgramException: Table program cannot be compiled. This is a bug. Please file an issue.
at org.apache.flink.shaded.guava30.com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2051) ~[java-udf-warehouse.jar:?]
at org.apache.flink.shaded.guava30.com.google.common.cache.LocalCache.get(LocalCache.java:3962) ~[java-udf-warehouse.jar:?]
at org.apache.flink.shaded.guava30.com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4859) ~[java-udf-warehouse.jar:?]
at org.apache.flink.table.runtime.generated.CompileUtils.compile(CompileUtils.java:92) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.apache.flink.table.runtime.generated.GeneratedClass.compile(GeneratedClass.java:101) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.apache.flink.table.runtime.generated.GeneratedClass.getClass(GeneratedClass.java:120) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.apache.flink.table.runtime.operators.CodeGenOperatorFactory.getStreamOperatorClass(CodeGenOperatorFactory.java:51) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.apache.flink.streaming.api.graph.StreamingJobGraphGenerator.preValidate(StreamingJobGraphGenerator.java:498) ~[flink-dist-1.16.2.jar:1.16.2]
at org.apache.flink.streaming.api.graph.StreamingJobGraphGenerator.createJobGraph(StreamingJobGraphGenerator.java:221) ~[flink-dist-1.16.2.jar:1.16.2]
at org.apache.flink.streaming.api.graph.StreamingJobGraphGenerator.createJobGraph(StreamingJobGraphGenerator.java:153) ~[flink-dist-1.16.2.jar:1.16.2]
at org.apache.flink.streaming.api.graph.StreamGraph.getJobGraph(StreamGraph.java:1024) ~[flink-dist-1.16.2.jar:1.16.2]
at org.apache.flink.client.StreamGraphTranslator.translateToJobGraph(StreamGraphTranslator.java:56) ~[flink-dist-1.16.2.jar:1.16.2]
at org.apache.flink.client.FlinkPipelineTranslationUtil.getJobGraph(FlinkPipelineTranslationUtil.java:43) ~[flink-dist-1.16.2.jar:1.16.2]
at org.apache.flink.client.deployment.executors.PipelineExecutorUtils.getJobGraph(PipelineExecutorUtils.java:59) ~[flink-dist-1.16.2.jar:1.16.2]
at org.apache.flink.client.deployment.executors.AbstractJobClusterExecutor.execute(AbstractJobClusterExecutor.java:72) ~[flink-dist-1.16.2.jar:1.16.2]
at org.apache.flink.streaming.api.environment.StreamExecutionEnvironment.executeAsync(StreamExecutionEnvironment.java:2188) ~[flink-dist-1.16.2.jar:1.16.2]
at org.apache.flink.client.program.StreamContextEnvironment.executeAsync(StreamContextEnvironment.java:206) ~[flink-dist-1.16.2.jar:1.16.2]
at org.apache.flink.table.planner.delegation.DefaultExecutor.executeAsync(DefaultExecutor.java:95) ~[flink-table-planner_2.12-1.16.2.jar:1.16.2]
at org.apache.flink.table.api.internal.TableEnvironmentImpl.executeInternal(TableEnvironmentImpl.java:850) ~[flink-table-api-java-uber-1.16.2.jar:1.16.2]
... 19 more
Caused by: org.apache.flink.api.common.InvalidProgramException: Table program cannot be compiled. This is a bug. Please file an issue.
at org.apache.flink.table.runtime.generated.CompileUtils.doCompile(CompileUtils.java:107) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.apache.flink.table.runtime.generated.CompileUtils.lambda$compile$0(CompileUtils.java:92) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.apache.flink.shaded.guava30.com.google.common.cache.LocalCache$LocalManualCache$1.load(LocalCache.java:4864) ~[java-udf-warehouse.jar:?]
at org.apache.flink.shaded.guava30.com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3529) ~[java-udf-warehouse.jar:?]
at org.apache.flink.shaded.guava30.com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2278) ~[java-udf-warehouse.jar:?]
at org.apache.flink.shaded.guava30.com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2155) ~[java-udf-warehouse.jar:?]
at org.apache.flink.shaded.guava30.com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2045) ~[java-udf-warehouse.jar:?]
at org.apache.flink.shaded.guava30.com.google.common.cache.LocalCache.get(LocalCache.java:3962) ~[java-udf-warehouse.jar:?]
at org.apache.flink.shaded.guava30.com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4859) ~[java-udf-warehouse.jar:?]
at org.apache.flink.table.runtime.generated.CompileUtils.compile(CompileUtils.java:92) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.apache.flink.table.runtime.generated.GeneratedClass.compile(GeneratedClass.java:101) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.apache.flink.table.runtime.generated.GeneratedClass.getClass(GeneratedClass.java:120) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.apache.flink.table.runtime.operators.CodeGenOperatorFactory.getStreamOperatorClass(CodeGenOperatorFactory.java:51) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.apache.flink.streaming.api.graph.StreamingJobGraphGenerator.preValidate(StreamingJobGraphGenerator.java:498) ~[flink-dist-1.16.2.jar:1.16.2]
at org.apache.flink.streaming.api.graph.StreamingJobGraphGenerator.createJobGraph(StreamingJobGraphGenerator.java:221) ~[flink-dist-1.16.2.jar:1.16.2]
at org.apache.flink.streaming.api.graph.StreamingJobGraphGenerator.createJobGraph(StreamingJobGraphGenerator.java:153) ~[flink-dist-1.16.2.jar:1.16.2]
at org.apache.flink.streaming.api.graph.StreamGraph.getJobGraph(StreamGraph.java:1024) ~[flink-dist-1.16.2.jar:1.16.2]
at org.apache.flink.client.StreamGraphTranslator.translateToJobGraph(StreamGraphTranslator.java:56) ~[flink-dist-1.16.2.jar:1.16.2]
at org.apache.flink.client.FlinkPipelineTranslationUtil.getJobGraph(FlinkPipelineTranslationUtil.java:43) ~[flink-dist-1.16.2.jar:1.16.2]
at org.apache.flink.client.deployment.executors.PipelineExecutorUtils.getJobGraph(PipelineExecutorUtils.java:59) ~[flink-dist-1.16.2.jar:1.16.2]
at org.apache.flink.client.deployment.executors.AbstractJobClusterExecutor.execute(AbstractJobClusterExecutor.java:72) ~[flink-dist-1.16.2.jar:1.16.2]
at org.apache.flink.streaming.api.environment.StreamExecutionEnvironment.executeAsync(StreamExecutionEnvironment.java:2188) ~[flink-dist-1.16.2.jar:1.16.2]
at org.apache.flink.client.program.StreamContextEnvironment.executeAsync(StreamContextEnvironment.java:206) ~[flink-dist-1.16.2.jar:1.16.2]
at org.apache.flink.table.planner.delegation.DefaultExecutor.executeAsync(DefaultExecutor.java:95) ~[flink-table-planner_2.12-1.16.2.jar:1.16.2]
at org.apache.flink.table.api.internal.TableEnvironmentImpl.executeInternal(TableEnvironmentImpl.java:850) ~[flink-table-api-java-uber-1.16.2.jar:1.16.2]
... 19 more
Caused by: java.lang.OutOfMemoryError: GC overhead limit exceeded
at java.util.HashMap.newNode(HashMap.java:1750) ~[?:1.8.0_251]
at java.util.HashMap.putVal(HashMap.java:631) ~[?:1.8.0_251]
at java.util.HashMap.putMapEntries(HashMap.java:515) ~[?:1.8.0_251]
at java.util.HashMap.putAll(HashMap.java:785) ~[?:1.8.0_251]
at org.codehaus.janino.UnitCompiler.buildLocalVariableMap(UnitCompiler.java:3660) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.codehaus.janino.UnitCompiler.access$5800(UnitCompiler.java:215) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.codehaus.janino.UnitCompiler$12.visitLocalVariableDeclarationStatement(UnitCompiler.java:3545) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.codehaus.janino.UnitCompiler$12.visitLocalVariableDeclarationStatement(UnitCompiler.java:3513) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.codehaus.janino.Java$LocalVariableDeclarationStatement.accept(Java.java:3522) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.codehaus.janino.UnitCompiler.buildLocalVariableMap(UnitCompiler.java:3512) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.codehaus.janino.UnitCompiler.buildLocalVariableMap(UnitCompiler.java:3569) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.codehaus.janino.UnitCompiler.access$4700(UnitCompiler.java:215) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.codehaus.janino.UnitCompiler$12.visitBlock(UnitCompiler.java:3531) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.codehaus.janino.UnitCompiler$12.visitBlock(UnitCompiler.java:3513) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.codehaus.janino.Java$Block.accept(Java.java:2779) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.codehaus.janino.UnitCompiler.buildLocalVariableMap(UnitCompiler.java:3512) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.codehaus.janino.UnitCompiler.buildLocalVariableMap(UnitCompiler.java:3603) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.codehaus.janino.UnitCompiler.access$5100(UnitCompiler.java:215) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.codehaus.janino.UnitCompiler$12.visitIfStatement(UnitCompiler.java:3535) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.codehaus.janino.UnitCompiler$12.visitIfStatement(UnitCompiler.java:3513) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.codehaus.janino.Java$IfStatement.accept(Java.java:2950) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.codehaus.janino.UnitCompiler.buildLocalVariableMap(UnitCompiler.java:3512) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.codehaus.janino.UnitCompiler.buildLocalVariableMap(UnitCompiler.java:3569) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.codehaus.janino.UnitCompiler.access$4700(UnitCompiler.java:215) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.codehaus.janino.UnitCompiler$12.visitBlock(UnitCompiler.java:3531) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.codehaus.janino.UnitCompiler$12.visitBlock(UnitCompiler.java:3513) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.codehaus.janino.Java$Block.accept(Java.java:2779) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.codehaus.janino.UnitCompiler.buildLocalVariableMap(UnitCompiler.java:3512) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.codehaus.janino.UnitCompiler.buildLocalVariableMap(UnitCompiler.java:3603) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.codehaus.janino.UnitCompiler.access$5100(UnitCompiler.java:215) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.codehaus.janino.UnitCompiler$12.visitIfStatement(UnitCompiler.java:3535) ~[flink-table-runtime-1.16.2.jar:1.16.2]
at org.codehaus.janino.UnitCompiler$12.visitIfStatement(UnitCompiler.java:3513) ~[flink-table-runtime-1.16.2.jar:1.16.2]

原脚本:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
-- 第二批
CREATE TABLE KAFKA_SOURCE_FIN_NC_BD_PSNDOC (
op_type String,
op_ts String,
op_ts_time as cast(op_ts as timestamp(3)),
current_ts String,
pos String,
before row<`PK_PSNDOC` String,
`PK_CORP` String,
`PK_PSNCL` String,
`PSNCODE` String,
`PSNNAME` String,
`PK_DEPTDOC` String,
`CLERKFLAG` String,
`CLERKCODE` String,
`PK_OM_JOB` String,
`INDOCFLAG` String,
`PSNCLSCOPE` String,
`AMCODE` String,
`TS` String,
`DR` String,
`SEALDATE` String,
`INNERCODE` String,
`MAXINNERCODE` String,
`DEF1` String,
`DEF10` String,
`DEF11` String,
`DEF12` String,
`DEF13` String,
`DEF14` String,
`DEF15` String,
`DEF16` String,
`DEF17` String,
`DEF18` String,
`DEF19` String,
`DEF2` String,
`DEF20` String,
`DEF3` String,
`DEF4` String,
`DEF5` String,
`DEF6` String,
`DEF7` String,
`DEF8` String,
`DEF9` String,
`INDUTYDATE` String,
`JOBRANK` String,
`JOBSERIES` String,
`OUTDUTYDATE` String,
`PK_PSNBASDOC` String,
`DIRECTLEADER` String,
`DUTYNAME` String,
`GROUPDEF1` String,
`GROUPDEF10` String,
`GROUPDEF11` String,
`GROUPDEF12` String,
`GROUPDEF13` String,
`GROUPDEF14` String,
`GROUPDEF15` String,
`GROUPDEF16` String,
`GROUPDEF17` String,
`GROUPDEF18` String,
`GROUPDEF19` String,
`GROUPDEF2` String,
`GROUPDEF20` String,
`GROUPDEF3` String,
`GROUPDEF4` String,
`GROUPDEF5` String,
`GROUPDEF6` String,
`GROUPDEF7` String,
`GROUPDEF8` String,
`GROUPDEF9` String,
`INSOURCE` String,
`ISCALOVERTIME` String,
`OUTMETHOD` String,
`PK_CLERKCLASS` String,
`PK_DUTYRANK` String,
`PK_PSNTYPE` String,
`POSTSTAT` String,
`RECRUITRESOURCE` String,
`REGULAR` String,
`REGULARDATA` String,
`SERIES` String,
`SHOWORDER` String,
`TBM_PROP` String,
`TIMECARDID` String,
`WASTOPDATE` String,
`CORPDEF1` String,
`CORPDEF2` String,
`CORPDEF3` String,
`CORPDEF4` String,
`CORPDEF5` String,
`CORPDEF6` String,
`CORPDEF7` String,
`CORPDEF8` String,
`CORPDEF9` String,
`CORPDEF10` String,
`GROUPDEF21` String,
`GROUPDEF22` String,
`GROUPDEF23` String,
`GROUPDEF24` String,
`GROUPDEF25` String,
`GROUPDEF26` String,
`GROUPDEF27` String,
`GROUPDEF28` String,
`GROUPDEF29` String,
`GROUPDEF30` String,
`GROUPDEF31` String,
`GROUPDEF32` String,
`GROUPDEF33` String,
`GROUPDEF34` String,
`GROUPDEF35` String,
`GROUPDEF36` String,
`GROUPDEF37` String,
`GROUPDEF38` String,
`GROUPDEF39` String,
`GROUPDEF40` String,
`GROUPDEF41` String,
`GROUPDEF42` String,
`GROUPDEF43` String,
`GROUPDEF44` String,
`GROUPDEF45` String,
`GROUPDEF46` String,
`GROUPDEF47` String,
`GROUPDEF48` String,
`GROUPDEF49` String,
`GROUPDEF50` String,
`GROUPDEF51` String,
`GROUPDEF52` String,
`GROUPDEF53` String,
`GROUPDEF54` String,
`GROUPDEF55` String,
`GROUPDEF56` String,
`GROUPDEF57` String,
`GROUPDEF58` String,
`GROUPDEF59` String,
`GROUPDEF60` String,
`GROUPDEF61` String,
`GROUPDEF62` String,
`GROUPDEF63` String,
`GROUPDEF64` String,
`GROUPDEF65` String,
`GROUPDEF66` String,
`GROUPDEF67` String,
`GROUPDEF68` String,
`GROUPDEF69` String,
`GROUPDEF70` String,
`GROUPDEF71` String,
`GROUPDEF72` String,
`GROUPDEF73` String,
`GROUPDEF74` String,
`GROUPDEF75` String,
`GROUPDEF76` String,
`GROUPDEF77` String,
`GROUPDEF78` String,
`GROUPDEF79` String,
`GROUPDEF80` String,
`GROUPDEF81` String,
`GROUPDEF82` String,
`GROUPDEF83` String,
`GROUPDEF84` String,
`GROUPDEF85` String,
`GROUPDEF86` String,
`GROUPDEF87` String,
`GROUPDEF88` String,
`GROUPDEF89` String,
`GROUPDEF90` String,
`GROUPDEF91` String,
`GROUPDEF92` String,
`GROUPDEF93` String,
`GROUPDEF94` String,
`GROUPDEF95` String,
`GROUPDEF96` String,
`GROUPDEF97` String,
`GROUPDEF98` String,
`GROUPDEF99` String,
`GROUPDEF100` String,
`ISRETURN` String,
`ISREFERENCED` String,
`ONPOSTDATE` String,
`CREATETIME` String,
`CREATOR` String,
`MODIFIER` String,
`MODIFYTIME` String,
`HROPERATOR` String,
`PSNNAMEPINYIN` String >,
after row<`PK_PSNDOC` String,
`PK_CORP` String,
`PK_PSNCL` String,
`PSNCODE` String,
`PSNNAME` String,
`PK_DEPTDOC` String,
`CLERKFLAG` String,
`CLERKCODE` String,
`PK_OM_JOB` String,
`INDOCFLAG` String,
`PSNCLSCOPE` String,
`AMCODE` String,
`TS` String,
`DR` String,
`SEALDATE` String,
`INNERCODE` String,
`MAXINNERCODE` String,
`DEF1` String,
`DEF10` String,
`DEF11` String,
`DEF12` String,
`DEF13` String,
`DEF14` String,
`DEF15` String,
`DEF16` String,
`DEF17` String,
`DEF18` String,
`DEF19` String,
`DEF2` String,
`DEF20` String,
`DEF3` String,
`DEF4` String,
`DEF5` String,
`DEF6` String,
`DEF7` String,
`DEF8` String,
`DEF9` String,
`INDUTYDATE` String,
`JOBRANK` String,
`JOBSERIES` String,
`OUTDUTYDATE` String,
`PK_PSNBASDOC` String,
`DIRECTLEADER` String,
`DUTYNAME` String,
`GROUPDEF1` String,
`GROUPDEF10` String,
`GROUPDEF11` String,
`GROUPDEF12` String,
`GROUPDEF13` String,
`GROUPDEF14` String,
`GROUPDEF15` String,
`GROUPDEF16` String,
`GROUPDEF17` String,
`GROUPDEF18` String,
`GROUPDEF19` String,
`GROUPDEF2` String,
`GROUPDEF20` String,
`GROUPDEF3` String,
`GROUPDEF4` String,
`GROUPDEF5` String,
`GROUPDEF6` String,
`GROUPDEF7` String,
`GROUPDEF8` String,
`GROUPDEF9` String,
`INSOURCE` String,
`ISCALOVERTIME` String,
`OUTMETHOD` String,
`PK_CLERKCLASS` String,
`PK_DUTYRANK` String,
`PK_PSNTYPE` String,
`POSTSTAT` String,
`RECRUITRESOURCE` String,
`REGULAR` String,
`REGULARDATA` String,
`SERIES` String,
`SHOWORDER` String,
`TBM_PROP` String,
`TIMECARDID` String,
`WASTOPDATE` String,
`CORPDEF1` String,
`CORPDEF2` String,
`CORPDEF3` String,
`CORPDEF4` String,
`CORPDEF5` String,
`CORPDEF6` String,
`CORPDEF7` String,
`CORPDEF8` String,
`CORPDEF9` String,
`CORPDEF10` String,
`GROUPDEF21` String,
`GROUPDEF22` String,
`GROUPDEF23` String,
`GROUPDEF24` String,
`GROUPDEF25` String,
`GROUPDEF26` String,
`GROUPDEF27` String,
`GROUPDEF28` String,
`GROUPDEF29` String,
`GROUPDEF30` String,
`GROUPDEF31` String,
`GROUPDEF32` String,
`GROUPDEF33` String,
`GROUPDEF34` String,
`GROUPDEF35` String,
`GROUPDEF36` String,
`GROUPDEF37` String,
`GROUPDEF38` String,
`GROUPDEF39` String,
`GROUPDEF40` String,
`GROUPDEF41` String,
`GROUPDEF42` String,
`GROUPDEF43` String,
`GROUPDEF44` String,
`GROUPDEF45` String,
`GROUPDEF46` String,
`GROUPDEF47` String,
`GROUPDEF48` String,
`GROUPDEF49` String,
`GROUPDEF50` String,
`GROUPDEF51` String,
`GROUPDEF52` String,
`GROUPDEF53` String,
`GROUPDEF54` String,
`GROUPDEF55` String,
`GROUPDEF56` String,
`GROUPDEF57` String,
`GROUPDEF58` String,
`GROUPDEF59` String,
`GROUPDEF60` String,
`GROUPDEF61` String,
`GROUPDEF62` String,
`GROUPDEF63` String,
`GROUPDEF64` String,
`GROUPDEF65` String,
`GROUPDEF66` String,
`GROUPDEF67` String,
`GROUPDEF68` String,
`GROUPDEF69` String,
`GROUPDEF70` String,
`GROUPDEF71` String,
`GROUPDEF72` String,
`GROUPDEF73` String,
`GROUPDEF74` String,
`GROUPDEF75` String,
`GROUPDEF76` String,
`GROUPDEF77` String,
`GROUPDEF78` String,
`GROUPDEF79` String,
`GROUPDEF80` String,
`GROUPDEF81` String,
`GROUPDEF82` String,
`GROUPDEF83` String,
`GROUPDEF84` String,
`GROUPDEF85` String,
`GROUPDEF86` String,
`GROUPDEF87` String,
`GROUPDEF88` String,
`GROUPDEF89` String,
`GROUPDEF90` String,
`GROUPDEF91` String,
`GROUPDEF92` String,
`GROUPDEF93` String,
`GROUPDEF94` String,
`GROUPDEF95` String,
`GROUPDEF96` String,
`GROUPDEF97` String,
`GROUPDEF98` String,
`GROUPDEF99` String,
`GROUPDEF100` String,
`ISRETURN` String,
`ISREFERENCED` String,
`ONPOSTDATE` String,
`CREATETIME` String,
`CREATOR` String,
`MODIFIER` String,
`MODIFYTIME` String,
`HROPERATOR` String,
`PSNNAMEPINYIN` String >,
data_row as
case
when op_type = 'D' then before
else after
end,
watermark for op_ts_time as op_ts_time - interval '5' second
) with (
'connector' = 'kafka',
'topic' = 'SEM.NC.JXNC57.BD_PSNDOC',
'scan.startup.mode' = 'earliest-offset',
'properties.group.id' = 'pipeline_kafka2doris_3_test',
'properties.bootstrap.servers' = 'jxbigdatakafka01.juneyaoair.com:9092,jxbigdatakafka02.juneyaoair.com:9092,jxbigdatakafka03.juneyaoair.com:9092',
'properties.fetch.max.bytes' = '5242880',
'properties.allow.auto.create.topics' = 'false',
'properties.enable.auto.commit' = 'true',
'properties.sasl.jaas.config' = 'org.apache.kafka.common.security.scram.ScramLoginModule required username="bigdatauser" password="bigdata@gd66";',
'properties.sasl.mechanism' = 'PLAIN',
'properties.security.protocol' = 'SASL_PLAINTEXT',
'format' = 'json'
);

CREATE TABLE DORIS_SINK_FIN_NC_BD_PSNDOC (
`PK_PSNDOC` String,
`PK_CORP` String,
`PK_PSNCL` String,
`PSNCODE` String,
`PSNNAME` String,
`PK_DEPTDOC` String,
`CLERKFLAG` String,
`CLERKCODE` String,
`PK_OM_JOB` String,
`INDOCFLAG` String,
`PSNCLSCOPE` DECIMAL,
`AMCODE` String,
`TS` String,
`DR` DECIMAL(10,0),
`SEALDATE` String,
`INNERCODE` String,
`MAXINNERCODE` String,
`DEF1` String,
`DEF10` String,
`DEF11` String,
`DEF12` String,
`DEF13` String,
`DEF14` String,
`DEF15` String,
`DEF16` String,
`DEF17` String,
`DEF18` String,
`DEF19` String,
`DEF2` String,
`DEF20` String,
`DEF3` String,
`DEF4` String,
`DEF5` String,
`DEF6` String,
`DEF7` String,
`DEF8` String,
`DEF9` String,
`INDUTYDATE` String,
`JOBRANK` String,
`JOBSERIES` String,
`OUTDUTYDATE` String,
`PK_PSNBASDOC` String,
`DIRECTLEADER` String,
`DUTYNAME` String,
`GROUPDEF1` String,
`GROUPDEF10` String,
`GROUPDEF11` String,
`GROUPDEF12` String,
`GROUPDEF13` String,
`GROUPDEF14` String,
`GROUPDEF15` String,
`GROUPDEF16` String,
`GROUPDEF17` String,
`GROUPDEF18` String,
`GROUPDEF19` String,
`GROUPDEF2` String,
`GROUPDEF20` String,
`GROUPDEF3` String,
`GROUPDEF4` String,
`GROUPDEF5` String,
`GROUPDEF6` String,
`GROUPDEF7` String,
`GROUPDEF8` String,
`GROUPDEF9` String,
`INSOURCE` String,
`ISCALOVERTIME` String,
`OUTMETHOD` String,
`PK_CLERKCLASS` String,
`PK_DUTYRANK` String,
`PK_PSNTYPE` String,
`POSTSTAT` String,
`RECRUITRESOURCE` String,
`REGULAR` String,
`REGULARDATA` String,
`SERIES` String,
`SHOWORDER` DECIMAL(38,0),
`TBM_PROP` DECIMAL(38,0),
`TIMECARDID` String,
`WASTOPDATE` String,
`CORPDEF1` String,
`CORPDEF2` String,
`CORPDEF3` String,
`CORPDEF4` String,
`CORPDEF5` String,
`CORPDEF6` String,
`CORPDEF7` String,
`CORPDEF8` String,
`CORPDEF9` String,
`CORPDEF10` String,
`GROUPDEF21` String,
`GROUPDEF22` String,
`GROUPDEF23` String,
`GROUPDEF24` String,
`GROUPDEF25` String,
`GROUPDEF26` String,
`GROUPDEF27` String,
`GROUPDEF28` String,
`GROUPDEF29` String,
`GROUPDEF30` String,
`GROUPDEF31` String,
`GROUPDEF32` String,
`GROUPDEF33` String,
`GROUPDEF34` String,
`GROUPDEF35` String,
`GROUPDEF36` String,
`GROUPDEF37` String,
`GROUPDEF38` String,
`GROUPDEF39` String,
`GROUPDEF40` String,
`GROUPDEF41` String,
`GROUPDEF42` String,
`GROUPDEF43` String,
`GROUPDEF44` String,
`GROUPDEF45` String,
`GROUPDEF46` String,
`GROUPDEF47` String,
`GROUPDEF48` String,
`GROUPDEF49` String,
`GROUPDEF50` String,
`GROUPDEF51` String,
`GROUPDEF52` String,
`GROUPDEF53` String,
`GROUPDEF54` String,
`GROUPDEF55` String,
`GROUPDEF56` String,
`GROUPDEF57` String,
`GROUPDEF58` String,
`GROUPDEF59` String,
`GROUPDEF60` String,
`GROUPDEF61` String,
`GROUPDEF62` String,
`GROUPDEF63` String,
`GROUPDEF64` String,
`GROUPDEF65` String,
`GROUPDEF66` String,
`GROUPDEF67` String,
`GROUPDEF68` String,
`GROUPDEF69` String,
`GROUPDEF70` String,
`GROUPDEF71` String,
`GROUPDEF72` String,
`GROUPDEF73` String,
`GROUPDEF74` String,
`GROUPDEF75` String,
`GROUPDEF76` String,
`GROUPDEF77` String,
`GROUPDEF78` String,
`GROUPDEF79` String,
`GROUPDEF80` String,
`GROUPDEF81` String,
`GROUPDEF82` String,
`GROUPDEF83` String,
`GROUPDEF84` String,
`GROUPDEF85` String,
`GROUPDEF86` String,
`GROUPDEF87` String,
`GROUPDEF88` String,
`GROUPDEF89` String,
`GROUPDEF90` String,
`GROUPDEF91` String,
`GROUPDEF92` String,
`GROUPDEF93` String,
`GROUPDEF94` String,
`GROUPDEF95` String,
`GROUPDEF96` String,
`GROUPDEF97` String,
`GROUPDEF98` String,
`GROUPDEF99` String,
`GROUPDEF100` String,
`ISRETURN` String,
`ISREFERENCED` String,
`ONPOSTDATE` String,
`CREATETIME` String,
`CREATOR` String,
`MODIFIER` String,
`MODIFYTIME` String,
`HROPERATOR` String,
`PSNNAMEPINYIN` String,
`OP_TYPE` String,
`OP_TS` String,
`OGG_TIME` String,
`GMT_CREATE` TIMESTAMP,
PRIMARY KEY (`PK_PSNDOC`) NOT ENFORCED
) with (
'connector' = 'doris',
'fenodes' = '10.17.23.55:8030',
'table.identifier' = 'ods.ods_fin_nc_bd_psndoc',
'username' = 'juneyaoair_etl',
'password' = 'juneyaoair_etl123!'
);

insert into DORIS_SINK_FIN_NC_BD_PSNDOC
select
REPLACE(REPLACE(REPLACE(data_row.`PK_PSNDOC`,CHR(10),''),CHR(13),''),CHR(9),'') as `PK_PSNDOC`,
REPLACE(REPLACE(REPLACE(data_row.`PK_CORP`,CHR(10),''),CHR(13),''),CHR(9),'') as `PK_CORP`,
REPLACE(REPLACE(REPLACE(data_row.`PK_PSNCL`,CHR(10),''),CHR(13),''),CHR(9),'') as `PK_PSNCL`,
REPLACE(REPLACE(REPLACE(data_row.`PSNCODE`,CHR(10),''),CHR(13),''),CHR(9),'') as `PSNCODE`,
REPLACE(REPLACE(REPLACE(data_row.`PSNNAME`,CHR(10),''),CHR(13),''),CHR(9),'') as `PSNNAME`,
REPLACE(REPLACE(REPLACE(data_row.`PK_DEPTDOC`,CHR(10),''),CHR(13),''),CHR(9),'') as `PK_DEPTDOC`,
REPLACE(REPLACE(REPLACE(data_row.`CLERKFLAG`,CHR(10),''),CHR(13),''),CHR(9),'') as `CLERKFLAG`,
REPLACE(REPLACE(REPLACE(data_row.`CLERKCODE`,CHR(10),''),CHR(13),''),CHR(9),'') as `CLERKCODE`,
REPLACE(REPLACE(REPLACE(data_row.`PK_OM_JOB`,CHR(10),''),CHR(13),''),CHR(9),'') as `PK_OM_JOB`,
REPLACE(REPLACE(REPLACE(data_row.`INDOCFLAG`,CHR(10),''),CHR(13),''),CHR(9),'') as `INDOCFLAG`,
CAST(REPLACE(REPLACE(REPLACE(data_row.`PSNCLSCOPE`,CHR(10),''),CHR(13),''),CHR(9),'') AS DECIMAL) as `PSNCLSCOPE`,
REPLACE(REPLACE(REPLACE(data_row.`AMCODE`,CHR(10),''),CHR(13),''),CHR(9),'') as `AMCODE`,
REPLACE(REPLACE(REPLACE(data_row.`TS`,CHR(10),''),CHR(13),''),CHR(9),'') as `TS`,
CAST(REPLACE(REPLACE(REPLACE(data_row.`DR`,CHR(10),''),CHR(13),''),CHR(9),'') AS DECIMAL) as `DR`,
REPLACE(REPLACE(REPLACE(data_row.`SEALDATE`,CHR(10),''),CHR(13),''),CHR(9),'') as `SEALDATE`,
REPLACE(REPLACE(REPLACE(data_row.`INNERCODE`,CHR(10),''),CHR(13),''),CHR(9),'') as `INNERCODE`,
REPLACE(REPLACE(REPLACE(data_row.`MAXINNERCODE`,CHR(10),''),CHR(13),''),CHR(9),'') as `MAXINNERCODE`,
REPLACE(REPLACE(REPLACE(data_row.`DEF1`,CHR(10),''),CHR(13),''),CHR(9),'') as `DEF1`,
REPLACE(REPLACE(REPLACE(data_row.`DEF10`,CHR(10),''),CHR(13),''),CHR(9),'') as `DEF10`,
REPLACE(REPLACE(REPLACE(data_row.`DEF11`,CHR(10),''),CHR(13),''),CHR(9),'') as `DEF11`,
REPLACE(REPLACE(REPLACE(data_row.`DEF12`,CHR(10),''),CHR(13),''),CHR(9),'') as `DEF12`,
REPLACE(REPLACE(REPLACE(data_row.`DEF13`,CHR(10),''),CHR(13),''),CHR(9),'') as `DEF13`,
REPLACE(REPLACE(REPLACE(data_row.`DEF14`,CHR(10),''),CHR(13),''),CHR(9),'') as `DEF14`,
REPLACE(REPLACE(REPLACE(data_row.`DEF15`,CHR(10),''),CHR(13),''),CHR(9),'') as `DEF15`,
REPLACE(REPLACE(REPLACE(data_row.`DEF16`,CHR(10),''),CHR(13),''),CHR(9),'') as `DEF16`,
REPLACE(REPLACE(REPLACE(data_row.`DEF17`,CHR(10),''),CHR(13),''),CHR(9),'') as `DEF17`,
REPLACE(REPLACE(REPLACE(data_row.`DEF18`,CHR(10),''),CHR(13),''),CHR(9),'') as `DEF18`,
REPLACE(REPLACE(REPLACE(data_row.`DEF19`,CHR(10),''),CHR(13),''),CHR(9),'') as `DEF19`,
REPLACE(REPLACE(REPLACE(data_row.`DEF2`,CHR(10),''),CHR(13),''),CHR(9),'') as `DEF2`,
REPLACE(REPLACE(REPLACE(data_row.`DEF20`,CHR(10),''),CHR(13),''),CHR(9),'') as `DEF20`,
REPLACE(REPLACE(REPLACE(data_row.`DEF3`,CHR(10),''),CHR(13),''),CHR(9),'') as `DEF3`,
REPLACE(REPLACE(REPLACE(data_row.`DEF4`,CHR(10),''),CHR(13),''),CHR(9),'') as `DEF4`,
REPLACE(REPLACE(REPLACE(data_row.`DEF5`,CHR(10),''),CHR(13),''),CHR(9),'') as `DEF5`,
REPLACE(REPLACE(REPLACE(data_row.`DEF6`,CHR(10),''),CHR(13),''),CHR(9),'') as `DEF6`,
REPLACE(REPLACE(REPLACE(data_row.`DEF7`,CHR(10),''),CHR(13),''),CHR(9),'') as `DEF7`,
REPLACE(REPLACE(REPLACE(data_row.`DEF8`,CHR(10),''),CHR(13),''),CHR(9),'') as `DEF8`,
REPLACE(REPLACE(REPLACE(data_row.`DEF9`,CHR(10),''),CHR(13),''),CHR(9),'') as `DEF9`,
REPLACE(REPLACE(REPLACE(data_row.`INDUTYDATE`,CHR(10),''),CHR(13),''),CHR(9),'') as `INDUTYDATE`,
REPLACE(REPLACE(REPLACE(data_row.`JOBRANK`,CHR(10),''),CHR(13),''),CHR(9),'') as `JOBRANK`,
REPLACE(REPLACE(REPLACE(data_row.`JOBSERIES`,CHR(10),''),CHR(13),''),CHR(9),'') as `JOBSERIES`,
REPLACE(REPLACE(REPLACE(data_row.`OUTDUTYDATE`,CHR(10),''),CHR(13),''),CHR(9),'') as `OUTDUTYDATE`,
REPLACE(REPLACE(REPLACE(data_row.`PK_PSNBASDOC`,CHR(10),''),CHR(13),''),CHR(9),'') as `PK_PSNBASDOC`,
REPLACE(REPLACE(REPLACE(data_row.`DIRECTLEADER`,CHR(10),''),CHR(13),''),CHR(9),'') as `DIRECTLEADER`,
REPLACE(REPLACE(REPLACE(data_row.`DUTYNAME`,CHR(10),''),CHR(13),''),CHR(9),'') as `DUTYNAME`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF1`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF1`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF10`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF10`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF11`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF11`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF12`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF12`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF13`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF13`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF14`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF14`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF15`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF15`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF16`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF16`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF17`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF17`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF18`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF18`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF19`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF19`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF2`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF2`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF20`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF20`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF3`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF3`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF4`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF4`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF5`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF5`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF6`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF6`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF7`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF7`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF8`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF8`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF9`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF9`,
REPLACE(REPLACE(REPLACE(data_row.`INSOURCE`,CHR(10),''),CHR(13),''),CHR(9),'') as `INSOURCE`,
REPLACE(REPLACE(REPLACE(data_row.`ISCALOVERTIME`,CHR(10),''),CHR(13),''),CHR(9),'') as `ISCALOVERTIME`,
REPLACE(REPLACE(REPLACE(data_row.`OUTMETHOD`,CHR(10),''),CHR(13),''),CHR(9),'') as `OUTMETHOD`,
REPLACE(REPLACE(REPLACE(data_row.`PK_CLERKCLASS`,CHR(10),''),CHR(13),''),CHR(9),'') as `PK_CLERKCLASS`,
REPLACE(REPLACE(REPLACE(data_row.`PK_DUTYRANK`,CHR(10),''),CHR(13),''),CHR(9),'') as `PK_DUTYRANK`,
REPLACE(REPLACE(REPLACE(data_row.`PK_PSNTYPE`,CHR(10),''),CHR(13),''),CHR(9),'') as `PK_PSNTYPE`,
REPLACE(REPLACE(REPLACE(data_row.`POSTSTAT`,CHR(10),''),CHR(13),''),CHR(9),'') as `POSTSTAT`,
REPLACE(REPLACE(REPLACE(data_row.`RECRUITRESOURCE`,CHR(10),''),CHR(13),''),CHR(9),'') as `RECRUITRESOURCE`,
REPLACE(REPLACE(REPLACE(data_row.`REGULAR`,CHR(10),''),CHR(13),''),CHR(9),'') as `REGULAR`,
REPLACE(REPLACE(REPLACE(data_row.`REGULARDATA`,CHR(10),''),CHR(13),''),CHR(9),'') as `REGULARDATA`,
REPLACE(REPLACE(REPLACE(data_row.`SERIES`,CHR(10),''),CHR(13),''),CHR(9),'') as `SERIES`,
CAST(REPLACE(REPLACE(REPLACE(data_row.`SHOWORDER`,CHR(10),''),CHR(13),''),CHR(9),'') AS DECIMAL) as `SHOWORDER`,
CAST(REPLACE(REPLACE(REPLACE(data_row.`TBM_PROP`,CHR(10),''),CHR(13),''),CHR(9),'') AS DECIMAL) as `TBM_PROP`,
REPLACE(REPLACE(REPLACE(data_row.`TIMECARDID`,CHR(10),''),CHR(13),''),CHR(9),'') as `TIMECARDID`,
REPLACE(REPLACE(REPLACE(data_row.`WASTOPDATE`,CHR(10),''),CHR(13),''),CHR(9),'') as `WASTOPDATE`,
REPLACE(REPLACE(REPLACE(data_row.`CORPDEF1`,CHR(10),''),CHR(13),''),CHR(9),'') as `CORPDEF1`,
REPLACE(REPLACE(REPLACE(data_row.`CORPDEF2`,CHR(10),''),CHR(13),''),CHR(9),'') as `CORPDEF2`,
REPLACE(REPLACE(REPLACE(data_row.`CORPDEF3`,CHR(10),''),CHR(13),''),CHR(9),'') as `CORPDEF3`,
REPLACE(REPLACE(REPLACE(data_row.`CORPDEF4`,CHR(10),''),CHR(13),''),CHR(9),'') as `CORPDEF4`,
REPLACE(REPLACE(REPLACE(data_row.`CORPDEF5`,CHR(10),''),CHR(13),''),CHR(9),'') as `CORPDEF5`,
REPLACE(REPLACE(REPLACE(data_row.`CORPDEF6`,CHR(10),''),CHR(13),''),CHR(9),'') as `CORPDEF6`,
REPLACE(REPLACE(REPLACE(data_row.`CORPDEF7`,CHR(10),''),CHR(13),''),CHR(9),'') as `CORPDEF7`,
REPLACE(REPLACE(REPLACE(data_row.`CORPDEF8`,CHR(10),''),CHR(13),''),CHR(9),'') as `CORPDEF8`,
REPLACE(REPLACE(REPLACE(data_row.`CORPDEF9`,CHR(10),''),CHR(13),''),CHR(9),'') as `CORPDEF9`,
REPLACE(REPLACE(REPLACE(data_row.`CORPDEF10`,CHR(10),''),CHR(13),''),CHR(9),'') as `CORPDEF10`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF21`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF21`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF22`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF22`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF23`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF23`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF24`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF24`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF25`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF25`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF26`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF26`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF27`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF27`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF28`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF28`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF29`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF29`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF30`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF30`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF31`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF31`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF32`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF32`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF33`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF33`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF34`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF34`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF35`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF35`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF36`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF36`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF37`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF37`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF38`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF38`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF39`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF39`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF40`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF40`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF41`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF41`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF42`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF42`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF43`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF43`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF44`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF44`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF45`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF45`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF46`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF46`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF47`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF47`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF48`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF48`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF49`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF49`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF50`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF50`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF51`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF51`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF52`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF52`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF53`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF53`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF54`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF54`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF55`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF55`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF56`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF56`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF57`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF57`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF58`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF58`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF59`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF59`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF60`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF60`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF61`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF61`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF62`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF62`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF63`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF63`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF64`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF64`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF65`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF65`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF66`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF66`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF67`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF67`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF68`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF68`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF69`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF69`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF70`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF70`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF71`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF71`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF72`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF72`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF73`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF73`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF74`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF74`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF75`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF75`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF76`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF76`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF77`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF77`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF78`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF78`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF79`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF79`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF80`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF80`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF81`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF81`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF82`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF82`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF83`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF83`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF84`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF84`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF85`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF85`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF86`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF86`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF87`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF87`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF88`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF88`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF89`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF89`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF90`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF90`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF91`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF91`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF92`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF92`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF93`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF93`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF94`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF94`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF95`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF95`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF96`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF96`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF97`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF97`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF98`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF98`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF99`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF99`,
REPLACE(REPLACE(REPLACE(data_row.`GROUPDEF100`,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF100`,
REPLACE(REPLACE(REPLACE(data_row.`ISRETURN`,CHR(10),''),CHR(13),''),CHR(9),'') as `ISRETURN`,
REPLACE(REPLACE(REPLACE(data_row.`ISREFERENCED`,CHR(10),''),CHR(13),''),CHR(9),'') as `ISREFERENCED`,
REPLACE(REPLACE(REPLACE(data_row.`ONPOSTDATE`,CHR(10),''),CHR(13),''),CHR(9),'') as `ONPOSTDATE`,
REPLACE(REPLACE(REPLACE(data_row.`CREATETIME`,CHR(10),''),CHR(13),''),CHR(9),'') as `CREATETIME`,
REPLACE(REPLACE(REPLACE(data_row.`CREATOR`,CHR(10),''),CHR(13),''),CHR(9),'') as `CREATOR`,
REPLACE(REPLACE(REPLACE(data_row.`MODIFIER`,CHR(10),''),CHR(13),''),CHR(9),'') as `MODIFIER`,
REPLACE(REPLACE(REPLACE(data_row.`MODIFYTIME`,CHR(10),''),CHR(13),''),CHR(9),'') as `MODIFYTIME`,
REPLACE(REPLACE(REPLACE(data_row.`HROPERATOR`,CHR(10),''),CHR(13),''),CHR(9),'') as `HROPERATOR`,
REPLACE(REPLACE(REPLACE(data_row.`PSNNAMEPINYIN`,CHR(10),''),CHR(13),''),CHR(9),'') as `PSNNAMEPINYIN`,
`op_type` as `OP_TYPE`,
`op_ts` as `OP_TS`,
`current_ts` as `OGG_TIME`,
CURRENT_TIMESTAMP as `GMT_CREATE`
from KAFKA_SOURCE_FIN_NC_BD_PSNDOC;

一直报错,经研究发现不能使用datarow的写法,需要改写成case when

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
-- 第二批
CREATE TABLE KAFKA_SOURCE_FIN_NC_BD_PSNDOC (
op_type String,
op_ts String,
op_ts_time as cast(op_ts as timestamp(3)),
current_ts String,
pos String,
before row<`PK_PSNDOC` String,
`PK_CORP` String,
`PK_PSNCL` String,
`PSNCODE` String,
`PSNNAME` String,
`PK_DEPTDOC` String,
`CLERKFLAG` String,
`CLERKCODE` String,
`PK_OM_JOB` String,
`INDOCFLAG` String,
`PSNCLSCOPE` String,
`AMCODE` String,
`TS` String,
`DR` String,
`SEALDATE` String,
`INNERCODE` String,
`MAXINNERCODE` String,
`DEF1` String,
`DEF10` String,
`DEF11` String,
`DEF12` String,
`DEF13` String,
`DEF14` String,
`DEF15` String,
`DEF16` String,
`DEF17` String,
`DEF18` String,
`DEF19` String,
`DEF2` String,
`DEF20` String,
`DEF3` String,
`DEF4` String,
`DEF5` String,
`DEF6` String,
`DEF7` String,
`DEF8` String,
`DEF9` String,
`INDUTYDATE` String,
`JOBRANK` String,
`JOBSERIES` String,
`OUTDUTYDATE` String,
`PK_PSNBASDOC` String,
`DIRECTLEADER` String,
`DUTYNAME` String,
`GROUPDEF1` String,
`GROUPDEF10` String,
`GROUPDEF11` String,
`GROUPDEF12` String,
`GROUPDEF13` String,
`GROUPDEF14` String,
`GROUPDEF15` String,
`GROUPDEF16` String,
`GROUPDEF17` String,
`GROUPDEF18` String,
`GROUPDEF19` String,
`GROUPDEF2` String,
`GROUPDEF20` String,
`GROUPDEF3` String,
`GROUPDEF4` String,
`GROUPDEF5` String,
`GROUPDEF6` String,
`GROUPDEF7` String,
`GROUPDEF8` String,
`GROUPDEF9` String,
`INSOURCE` String,
`ISCALOVERTIME` String,
`OUTMETHOD` String,
`PK_CLERKCLASS` String,
`PK_DUTYRANK` String,
`PK_PSNTYPE` String,
`POSTSTAT` String,
`RECRUITRESOURCE` String,
`REGULAR` String,
`REGULARDATA` String,
`SERIES` String,
`SHOWORDER` String,
`TBM_PROP` String,
`TIMECARDID` String,
`WASTOPDATE` String,
`CORPDEF1` String,
`CORPDEF2` String,
`CORPDEF3` String,
`CORPDEF4` String,
`CORPDEF5` String,
`CORPDEF6` String,
`CORPDEF7` String,
`CORPDEF8` String,
`CORPDEF9` String,
`CORPDEF10` String,
`GROUPDEF21` String,
`GROUPDEF22` String,
`GROUPDEF23` String,
`GROUPDEF24` String,
`GROUPDEF25` String,
`GROUPDEF26` String,
`GROUPDEF27` String,
`GROUPDEF28` String,
`GROUPDEF29` String,
`GROUPDEF30` String,
`GROUPDEF31` String,
`GROUPDEF32` String,
`GROUPDEF33` String,
`GROUPDEF34` String,
`GROUPDEF35` String,
`GROUPDEF36` String,
`GROUPDEF37` String,
`GROUPDEF38` String,
`GROUPDEF39` String,
`GROUPDEF40` String,
`GROUPDEF41` String,
`GROUPDEF42` String,
`GROUPDEF43` String,
`GROUPDEF44` String,
`GROUPDEF45` String,
`GROUPDEF46` String,
`GROUPDEF47` String,
`GROUPDEF48` String,
`GROUPDEF49` String,
`GROUPDEF50` String,
`GROUPDEF51` String,
`GROUPDEF52` String,
`GROUPDEF53` String,
`GROUPDEF54` String,
`GROUPDEF55` String,
`GROUPDEF56` String,
`GROUPDEF57` String,
`GROUPDEF58` String,
`GROUPDEF59` String,
`GROUPDEF60` String,
`GROUPDEF61` String,
`GROUPDEF62` String,
`GROUPDEF63` String,
`GROUPDEF64` String,
`GROUPDEF65` String,
`GROUPDEF66` String,
`GROUPDEF67` String,
`GROUPDEF68` String,
`GROUPDEF69` String,
`GROUPDEF70` String,
`GROUPDEF71` String,
`GROUPDEF72` String,
`GROUPDEF73` String,
`GROUPDEF74` String,
`GROUPDEF75` String,
`GROUPDEF76` String,
`GROUPDEF77` String,
`GROUPDEF78` String,
`GROUPDEF79` String,
`GROUPDEF80` String,
`GROUPDEF81` String,
`GROUPDEF82` String,
`GROUPDEF83` String,
`GROUPDEF84` String,
`GROUPDEF85` String,
`GROUPDEF86` String,
`GROUPDEF87` String,
`GROUPDEF88` String,
`GROUPDEF89` String,
`GROUPDEF90` String,
`GROUPDEF91` String,
`GROUPDEF92` String,
`GROUPDEF93` String,
`GROUPDEF94` String,
`GROUPDEF95` String,
`GROUPDEF96` String,
`GROUPDEF97` String,
`GROUPDEF98` String,
`GROUPDEF99` String,
`GROUPDEF100` String,
`ISRETURN` String,
`ISREFERENCED` String,
`ONPOSTDATE` String,
`CREATETIME` String,
`CREATOR` String,
`MODIFIER` String,
`MODIFYTIME` String,
`HROPERATOR` String,
`PSNNAMEPINYIN` String >,
after row<`PK_PSNDOC` String,
`PK_CORP` String,
`PK_PSNCL` String,
`PSNCODE` String,
`PSNNAME` String,
`PK_DEPTDOC` String,
`CLERKFLAG` String,
`CLERKCODE` String,
`PK_OM_JOB` String,
`INDOCFLAG` String,
`PSNCLSCOPE` String,
`AMCODE` String,
`TS` String,
`DR` String,
`SEALDATE` String,
`INNERCODE` String,
`MAXINNERCODE` String,
`DEF1` String,
`DEF10` String,
`DEF11` String,
`DEF12` String,
`DEF13` String,
`DEF14` String,
`DEF15` String,
`DEF16` String,
`DEF17` String,
`DEF18` String,
`DEF19` String,
`DEF2` String,
`DEF20` String,
`DEF3` String,
`DEF4` String,
`DEF5` String,
`DEF6` String,
`DEF7` String,
`DEF8` String,
`DEF9` String,
`INDUTYDATE` String,
`JOBRANK` String,
`JOBSERIES` String,
`OUTDUTYDATE` String,
`PK_PSNBASDOC` String,
`DIRECTLEADER` String,
`DUTYNAME` String,
`GROUPDEF1` String,
`GROUPDEF10` String,
`GROUPDEF11` String,
`GROUPDEF12` String,
`GROUPDEF13` String,
`GROUPDEF14` String,
`GROUPDEF15` String,
`GROUPDEF16` String,
`GROUPDEF17` String,
`GROUPDEF18` String,
`GROUPDEF19` String,
`GROUPDEF2` String,
`GROUPDEF20` String,
`GROUPDEF3` String,
`GROUPDEF4` String,
`GROUPDEF5` String,
`GROUPDEF6` String,
`GROUPDEF7` String,
`GROUPDEF8` String,
`GROUPDEF9` String,
`INSOURCE` String,
`ISCALOVERTIME` String,
`OUTMETHOD` String,
`PK_CLERKCLASS` String,
`PK_DUTYRANK` String,
`PK_PSNTYPE` String,
`POSTSTAT` String,
`RECRUITRESOURCE` String,
`REGULAR` String,
`REGULARDATA` String,
`SERIES` String,
`SHOWORDER` String,
`TBM_PROP` String,
`TIMECARDID` String,
`WASTOPDATE` String,
`CORPDEF1` String,
`CORPDEF2` String,
`CORPDEF3` String,
`CORPDEF4` String,
`CORPDEF5` String,
`CORPDEF6` String,
`CORPDEF7` String,
`CORPDEF8` String,
`CORPDEF9` String,
`CORPDEF10` String,
`GROUPDEF21` String,
`GROUPDEF22` String,
`GROUPDEF23` String,
`GROUPDEF24` String,
`GROUPDEF25` String,
`GROUPDEF26` String,
`GROUPDEF27` String,
`GROUPDEF28` String,
`GROUPDEF29` String,
`GROUPDEF30` String,
`GROUPDEF31` String,
`GROUPDEF32` String,
`GROUPDEF33` String,
`GROUPDEF34` String,
`GROUPDEF35` String,
`GROUPDEF36` String,
`GROUPDEF37` String,
`GROUPDEF38` String,
`GROUPDEF39` String,
`GROUPDEF40` String,
`GROUPDEF41` String,
`GROUPDEF42` String,
`GROUPDEF43` String,
`GROUPDEF44` String,
`GROUPDEF45` String,
`GROUPDEF46` String,
`GROUPDEF47` String,
`GROUPDEF48` String,
`GROUPDEF49` String,
`GROUPDEF50` String,
`GROUPDEF51` String,
`GROUPDEF52` String,
`GROUPDEF53` String,
`GROUPDEF54` String,
`GROUPDEF55` String,
`GROUPDEF56` String,
`GROUPDEF57` String,
`GROUPDEF58` String,
`GROUPDEF59` String,
`GROUPDEF60` String,
`GROUPDEF61` String,
`GROUPDEF62` String,
`GROUPDEF63` String,
`GROUPDEF64` String,
`GROUPDEF65` String,
`GROUPDEF66` String,
`GROUPDEF67` String,
`GROUPDEF68` String,
`GROUPDEF69` String,
`GROUPDEF70` String,
`GROUPDEF71` String,
`GROUPDEF72` String,
`GROUPDEF73` String,
`GROUPDEF74` String,
`GROUPDEF75` String,
`GROUPDEF76` String,
`GROUPDEF77` String,
`GROUPDEF78` String,
`GROUPDEF79` String,
`GROUPDEF80` String,
`GROUPDEF81` String,
`GROUPDEF82` String,
`GROUPDEF83` String,
`GROUPDEF84` String,
`GROUPDEF85` String,
`GROUPDEF86` String,
`GROUPDEF87` String,
`GROUPDEF88` String,
`GROUPDEF89` String,
`GROUPDEF90` String,
`GROUPDEF91` String,
`GROUPDEF92` String,
`GROUPDEF93` String,
`GROUPDEF94` String,
`GROUPDEF95` String,
`GROUPDEF96` String,
`GROUPDEF97` String,
`GROUPDEF98` String,
`GROUPDEF99` String,
`GROUPDEF100` String,
`ISRETURN` String,
`ISREFERENCED` String,
`ONPOSTDATE` String,
`CREATETIME` String,
`CREATOR` String,
`MODIFIER` String,
`MODIFYTIME` String,
`HROPERATOR` String,
`PSNNAMEPINYIN` String >,
data_row as
case
when op_type = 'D' then before
else after
end,
watermark for op_ts_time as op_ts_time - interval '5' second
) with (
'connector' = 'kafka',
'topic' = 'SEM.NC.JXNC57.BD_PSNDOC',
'scan.startup.mode' = 'earliest-offset',
'properties.group.id' = 'pipeline_kafka2doris_3_test',
'properties.bootstrap.servers' = 'jxbigdatakafka01.juneyaoair.com:9092,jxbigdatakafka02.juneyaoair.com:9092,jxbigdatakafka03.juneyaoair.com:9092',
'properties.fetch.max.bytes' = '5242880',
'properties.allow.auto.create.topics' = 'false',
'properties.enable.auto.commit' = 'true',
'properties.sasl.jaas.config' = 'org.apache.kafka.common.security.scram.ScramLoginModule required username="bigdatauser" password="bigdata@gd66";',
'properties.sasl.mechanism' = 'PLAIN',
'properties.security.protocol' = 'SASL_PLAINTEXT',
'format' = 'json'
);

CREATE TABLE DORIS_SINK_FIN_NC_BD_PSNDOC (
`PK_PSNDOC` String,
`PK_CORP` String,
`PK_PSNCL` String,
`PSNCODE` String,
`PSNNAME` String,
`PK_DEPTDOC` String,
`CLERKFLAG` String,
`CLERKCODE` String,
`PK_OM_JOB` String,
`INDOCFLAG` String,
`PSNCLSCOPE` DECIMAL,
`AMCODE` String,
`TS` String,
`DR` DECIMAL(10,0),
`SEALDATE` String,
`INNERCODE` String,
`MAXINNERCODE` String,
`DEF1` String,
`DEF10` String,
`DEF11` String,
`DEF12` String,
`DEF13` String,
`DEF14` String,
`DEF15` String,
`DEF16` String,
`DEF17` String,
`DEF18` String,
`DEF19` String,
`DEF2` String,
`DEF20` String,
`DEF3` String,
`DEF4` String,
`DEF5` String,
`DEF6` String,
`DEF7` String,
`DEF8` String,
`DEF9` String,
`INDUTYDATE` String,
`JOBRANK` String,
`JOBSERIES` String,
`OUTDUTYDATE` String,
`PK_PSNBASDOC` String,
`DIRECTLEADER` String,
`DUTYNAME` String,
`GROUPDEF1` String,
`GROUPDEF10` String,
`GROUPDEF11` String,
`GROUPDEF12` String,
`GROUPDEF13` String,
`GROUPDEF14` String,
`GROUPDEF15` String,
`GROUPDEF16` String,
`GROUPDEF17` String,
`GROUPDEF18` String,
`GROUPDEF19` String,
`GROUPDEF2` String,
`GROUPDEF20` String,
`GROUPDEF3` String,
`GROUPDEF4` String,
`GROUPDEF5` String,
`GROUPDEF6` String,
`GROUPDEF7` String,
`GROUPDEF8` String,
`GROUPDEF9` String,
`INSOURCE` String,
`ISCALOVERTIME` String,
`OUTMETHOD` String,
`PK_CLERKCLASS` String,
`PK_DUTYRANK` String,
`PK_PSNTYPE` String,
`POSTSTAT` String,
`RECRUITRESOURCE` String,
`REGULAR` String,
`REGULARDATA` String,
`SERIES` String,
`SHOWORDER` DECIMAL(38,0),
`TBM_PROP` DECIMAL(38,0),
`TIMECARDID` String,
`WASTOPDATE` String,
`CORPDEF1` String,
`CORPDEF2` String,
`CORPDEF3` String,
`CORPDEF4` String,
`CORPDEF5` String,
`CORPDEF6` String,
`CORPDEF7` String,
`CORPDEF8` String,
`CORPDEF9` String,
`CORPDEF10` String,
`GROUPDEF21` String,
`GROUPDEF22` String,
`GROUPDEF23` String,
`GROUPDEF24` String,
`GROUPDEF25` String,
`GROUPDEF26` String,
`GROUPDEF27` String,
`GROUPDEF28` String,
`GROUPDEF29` String,
`GROUPDEF30` String,
`GROUPDEF31` String,
`GROUPDEF32` String,
`GROUPDEF33` String,
`GROUPDEF34` String,
`GROUPDEF35` String,
`GROUPDEF36` String,
`GROUPDEF37` String,
`GROUPDEF38` String,
`GROUPDEF39` String,
`GROUPDEF40` String,
`GROUPDEF41` String,
`GROUPDEF42` String,
`GROUPDEF43` String,
`GROUPDEF44` String,
`GROUPDEF45` String,
`GROUPDEF46` String,
`GROUPDEF47` String,
`GROUPDEF48` String,
`GROUPDEF49` String,
`GROUPDEF50` String,
`GROUPDEF51` String,
`GROUPDEF52` String,
`GROUPDEF53` String,
`GROUPDEF54` String,
`GROUPDEF55` String,
`GROUPDEF56` String,
`GROUPDEF57` String,
`GROUPDEF58` String,
`GROUPDEF59` String,
`GROUPDEF60` String,
`GROUPDEF61` String,
`GROUPDEF62` String,
`GROUPDEF63` String,
`GROUPDEF64` String,
`GROUPDEF65` String,
`GROUPDEF66` String,
`GROUPDEF67` String,
`GROUPDEF68` String,
`GROUPDEF69` String,
`GROUPDEF70` String,
`GROUPDEF71` String,
`GROUPDEF72` String,
`GROUPDEF73` String,
`GROUPDEF74` String,
`GROUPDEF75` String,
`GROUPDEF76` String,
`GROUPDEF77` String,
`GROUPDEF78` String,
`GROUPDEF79` String,
`GROUPDEF80` String,
`GROUPDEF81` String,
`GROUPDEF82` String,
`GROUPDEF83` String,
`GROUPDEF84` String,
`GROUPDEF85` String,
`GROUPDEF86` String,
`GROUPDEF87` String,
`GROUPDEF88` String,
`GROUPDEF89` String,
`GROUPDEF90` String,
`GROUPDEF91` String,
`GROUPDEF92` String,
`GROUPDEF93` String,
`GROUPDEF94` String,
`GROUPDEF95` String,
`GROUPDEF96` String,
`GROUPDEF97` String,
`GROUPDEF98` String,
`GROUPDEF99` String,
`GROUPDEF100` String,
`ISRETURN` String,
`ISREFERENCED` String,
`ONPOSTDATE` String,
`CREATETIME` String,
`CREATOR` String,
`MODIFIER` String,
`MODIFYTIME` String,
`HROPERATOR` String,
`PSNNAMEPINYIN` String,
`OP_TYPE` String,
`OP_TS` String,
`OGG_TIME` String,
`GMT_CREATE` TIMESTAMP,
PRIMARY KEY (`PK_PSNDOC`) NOT ENFORCED
) with (
'connector' = 'doris',
'fenodes' = '10.17.23.55:8030',
'table.identifier' = 'ods.ods_fin_nc_bd_psndoc',
'username' = 'juneyaoair_etl',
'password' = 'juneyaoair_etl123!'
);

insert into DORIS_SINK_FIN_NC_BD_PSNDOC
select
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`PK_PSNDOC` else after.`PK_PSNDOC` end,CHR(10),''),CHR(13),''),CHR(9),'') as `PK_PSNDOC`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`PK_CORP` else after.`PK_CORP` end,CHR(10),''),CHR(13),''),CHR(9),'') as `PK_CORP`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`PK_PSNCL` else after.`PK_PSNCL` end,CHR(10),''),CHR(13),''),CHR(9),'') as `PK_PSNCL`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`PSNCODE` else after.`PSNCODE` end,CHR(10),''),CHR(13),''),CHR(9),'') as `PSNCODE`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`PSNNAME` else after.`PSNNAME` end,CHR(10),''),CHR(13),''),CHR(9),'') as `PSNNAME`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`PK_DEPTDOC` else after.`PK_DEPTDOC` end,CHR(10),''),CHR(13),''),CHR(9),'') as `PK_DEPTDOC`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`CLERKFLAG` else after.`CLERKFLAG` end,CHR(10),''),CHR(13),''),CHR(9),'') as `CLERKFLAG`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`CLERKCODE` else after.`CLERKCODE` end,CHR(10),''),CHR(13),''),CHR(9),'') as `CLERKCODE`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`PK_OM_JOB` else after.`PK_OM_JOB` end,CHR(10),''),CHR(13),''),CHR(9),'') as `PK_OM_JOB`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`INDOCFLAG` else after.`INDOCFLAG` end,CHR(10),''),CHR(13),''),CHR(9),'') as `INDOCFLAG`,
CAST(REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`PSNCLSCOPE` else after.`PSNCLSCOPE` end,CHR(10),''),CHR(13),''),CHR(9),'') AS DECIMAL) as `PSNCLSCOPE`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`AMCODE` else after.`AMCODE` end,CHR(10),''),CHR(13),''),CHR(9),'') as `AMCODE`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`TS` else after.`TS` end,CHR(10),''),CHR(13),''),CHR(9),'') as `TS`,
CAST(REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`DR` else after.`DR` end,CHR(10),''),CHR(13),''),CHR(9),'') AS DECIMAL) as `DR`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`SEALDATE` else after.`SEALDATE` end,CHR(10),''),CHR(13),''),CHR(9),'') as `SEALDATE`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`INNERCODE` else after.`INNERCODE` end,CHR(10),''),CHR(13),''),CHR(9),'') as `INNERCODE`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`MAXINNERCODE` else after.`MAXINNERCODE` end,CHR(10),''),CHR(13),''),CHR(9),'') as `MAXINNERCODE`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`DEF1` else after.`DEF1` end,CHR(10),''),CHR(13),''),CHR(9),'') as `DEF1`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`DEF10` else after.`DEF10` end,CHR(10),''),CHR(13),''),CHR(9),'') as `DEF10`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`DEF11` else after.`DEF11` end,CHR(10),''),CHR(13),''),CHR(9),'') as `DEF11`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`DEF12` else after.`DEF12` end,CHR(10),''),CHR(13),''),CHR(9),'') as `DEF12`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`DEF13` else after.`DEF13` end,CHR(10),''),CHR(13),''),CHR(9),'') as `DEF13`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`DEF14` else after.`DEF14` end,CHR(10),''),CHR(13),''),CHR(9),'') as `DEF14`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`DEF15` else after.`DEF15` end,CHR(10),''),CHR(13),''),CHR(9),'') as `DEF15`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`DEF16` else after.`DEF16` end,CHR(10),''),CHR(13),''),CHR(9),'') as `DEF16`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`DEF17` else after.`DEF17` end,CHR(10),''),CHR(13),''),CHR(9),'') as `DEF17`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`DEF18` else after.`DEF18` end,CHR(10),''),CHR(13),''),CHR(9),'') as `DEF18`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`DEF19` else after.`DEF19` end,CHR(10),''),CHR(13),''),CHR(9),'') as `DEF19`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`DEF2` else after.`DEF2` end,CHR(10),''),CHR(13),''),CHR(9),'') as `DEF2`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`DEF20` else after.`DEF20` end,CHR(10),''),CHR(13),''),CHR(9),'') as `DEF20`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`DEF3` else after.`DEF3` end,CHR(10),''),CHR(13),''),CHR(9),'') as `DEF3`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`DEF4` else after.`DEF4` end,CHR(10),''),CHR(13),''),CHR(9),'') as `DEF4`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`DEF5` else after.`DEF5` end,CHR(10),''),CHR(13),''),CHR(9),'') as `DEF5`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`DEF6` else after.`DEF6` end,CHR(10),''),CHR(13),''),CHR(9),'') as `DEF6`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`DEF7` else after.`DEF7` end,CHR(10),''),CHR(13),''),CHR(9),'') as `DEF7`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`DEF8` else after.`DEF8` end,CHR(10),''),CHR(13),''),CHR(9),'') as `DEF8`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`DEF9` else after.`DEF9` end,CHR(10),''),CHR(13),''),CHR(9),'') as `DEF9`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`INDUTYDATE` else after.`INDUTYDATE` end,CHR(10),''),CHR(13),''),CHR(9),'') as `INDUTYDATE`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`JOBRANK` else after.`JOBRANK` end,CHR(10),''),CHR(13),''),CHR(9),'') as `JOBRANK`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`JOBSERIES` else after.`JOBSERIES` end,CHR(10),''),CHR(13),''),CHR(9),'') as `JOBSERIES`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`OUTDUTYDATE` else after.`OUTDUTYDATE` end,CHR(10),''),CHR(13),''),CHR(9),'') as `OUTDUTYDATE`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`PK_PSNBASDOC` else after.`PK_PSNBASDOC` end,CHR(10),''),CHR(13),''),CHR(9),'') as `PK_PSNBASDOC`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`DIRECTLEADER` else after.`DIRECTLEADER` end,CHR(10),''),CHR(13),''),CHR(9),'') as `DIRECTLEADER`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`DUTYNAME` else after.`DUTYNAME` end,CHR(10),''),CHR(13),''),CHR(9),'') as `DUTYNAME`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF1` else after.`GROUPDEF1` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF1`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF10` else after.`GROUPDEF10` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF10`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF11` else after.`GROUPDEF11` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF11`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF12` else after.`GROUPDEF12` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF12`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF13` else after.`GROUPDEF13` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF13`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF14` else after.`GROUPDEF14` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF14`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF15` else after.`GROUPDEF15` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF15`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF16` else after.`GROUPDEF16` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF16`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF17` else after.`GROUPDEF17` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF17`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF18` else after.`GROUPDEF18` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF18`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF19` else after.`GROUPDEF19` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF19`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF2` else after.`GROUPDEF2` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF2`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF20` else after.`GROUPDEF20` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF20`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF3` else after.`GROUPDEF3` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF3`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF4` else after.`GROUPDEF4` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF4`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF5` else after.`GROUPDEF5` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF5`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF6` else after.`GROUPDEF6` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF6`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF7` else after.`GROUPDEF7` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF7`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF8` else after.`GROUPDEF8` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF8`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF9` else after.`GROUPDEF9` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF9`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`INSOURCE` else after.`INSOURCE` end,CHR(10),''),CHR(13),''),CHR(9),'') as `INSOURCE`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`ISCALOVERTIME` else after.`ISCALOVERTIME` end,CHR(10),''),CHR(13),''),CHR(9),'') as `ISCALOVERTIME`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`OUTMETHOD` else after.`OUTMETHOD` end,CHR(10),''),CHR(13),''),CHR(9),'') as `OUTMETHOD`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`PK_CLERKCLASS` else after.`PK_CLERKCLASS` end,CHR(10),''),CHR(13),''),CHR(9),'') as `PK_CLERKCLASS`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`PK_DUTYRANK` else after.`PK_DUTYRANK` end,CHR(10),''),CHR(13),''),CHR(9),'') as `PK_DUTYRANK`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`PK_PSNTYPE` else after.`PK_PSNTYPE` end,CHR(10),''),CHR(13),''),CHR(9),'') as `PK_PSNTYPE`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`POSTSTAT` else after.`POSTSTAT` end,CHR(10),''),CHR(13),''),CHR(9),'') as `POSTSTAT`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`RECRUITRESOURCE` else after.`RECRUITRESOURCE` end,CHR(10),''),CHR(13),''),CHR(9),'') as `RECRUITRESOURCE`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`REGULAR` else after.`REGULAR` end,CHR(10),''),CHR(13),''),CHR(9),'') as `REGULAR`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`REGULARDATA` else after.`REGULARDATA` end,CHR(10),''),CHR(13),''),CHR(9),'') as `REGULARDATA`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`SERIES` else after.`SERIES` end,CHR(10),''),CHR(13),''),CHR(9),'') as `SERIES`,
CAST(REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`SHOWORDER` else after.`SHOWORDER` end,CHR(10),''),CHR(13),''),CHR(9),'') AS DECIMAL) as `SHOWORDER`,
CAST(REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`TBM_PROP` else after.`TBM_PROP` end,CHR(10),''),CHR(13),''),CHR(9),'') AS DECIMAL) as `TBM_PROP`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`TIMECARDID` else after.`TIMECARDID` end,CHR(10),''),CHR(13),''),CHR(9),'') as `TIMECARDID`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`WASTOPDATE` else after.`WASTOPDATE` end,CHR(10),''),CHR(13),''),CHR(9),'') as `WASTOPDATE`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`CORPDEF1` else after.`CORPDEF1` end,CHR(10),''),CHR(13),''),CHR(9),'') as `CORPDEF1`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`CORPDEF2` else after.`CORPDEF2` end,CHR(10),''),CHR(13),''),CHR(9),'') as `CORPDEF2`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`CORPDEF3` else after.`CORPDEF3` end,CHR(10),''),CHR(13),''),CHR(9),'') as `CORPDEF3`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`CORPDEF4` else after.`CORPDEF4` end,CHR(10),''),CHR(13),''),CHR(9),'') as `CORPDEF4`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`CORPDEF5` else after.`CORPDEF5` end,CHR(10),''),CHR(13),''),CHR(9),'') as `CORPDEF5`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`CORPDEF6` else after.`CORPDEF6` end,CHR(10),''),CHR(13),''),CHR(9),'') as `CORPDEF6`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`CORPDEF7` else after.`CORPDEF7` end,CHR(10),''),CHR(13),''),CHR(9),'') as `CORPDEF7`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`CORPDEF8` else after.`CORPDEF8` end,CHR(10),''),CHR(13),''),CHR(9),'') as `CORPDEF8`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`CORPDEF9` else after.`CORPDEF9` end,CHR(10),''),CHR(13),''),CHR(9),'') as `CORPDEF9`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`CORPDEF10` else after.`CORPDEF10` end,CHR(10),''),CHR(13),''),CHR(9),'') as `CORPDEF10`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF21` else after.`GROUPDEF21` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF21`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF22` else after.`GROUPDEF22` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF22`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF23` else after.`GROUPDEF23` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF23`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF24` else after.`GROUPDEF24` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF24`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF25` else after.`GROUPDEF25` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF25`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF26` else after.`GROUPDEF26` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF26`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF27` else after.`GROUPDEF27` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF27`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF28` else after.`GROUPDEF28` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF28`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF29` else after.`GROUPDEF29` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF29`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF30` else after.`GROUPDEF30` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF30`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF31` else after.`GROUPDEF31` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF31`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF32` else after.`GROUPDEF32` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF32`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF33` else after.`GROUPDEF33` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF33`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF34` else after.`GROUPDEF34` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF34`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF35` else after.`GROUPDEF35` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF35`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF36` else after.`GROUPDEF36` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF36`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF37` else after.`GROUPDEF37` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF37`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF38` else after.`GROUPDEF38` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF38`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF39` else after.`GROUPDEF39` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF39`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF40` else after.`GROUPDEF40` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF40`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF41` else after.`GROUPDEF41` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF41`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF42` else after.`GROUPDEF42` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF42`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF43` else after.`GROUPDEF43` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF43`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF44` else after.`GROUPDEF44` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF44`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF45` else after.`GROUPDEF45` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF45`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF46` else after.`GROUPDEF46` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF46`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF47` else after.`GROUPDEF47` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF47`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF48` else after.`GROUPDEF48` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF48`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF49` else after.`GROUPDEF49` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF49`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF50` else after.`GROUPDEF50` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF50`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF51` else after.`GROUPDEF51` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF51`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF52` else after.`GROUPDEF52` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF52`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF53` else after.`GROUPDEF53` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF53`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF54` else after.`GROUPDEF54` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF54`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF55` else after.`GROUPDEF55` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF55`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF56` else after.`GROUPDEF56` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF56`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF57` else after.`GROUPDEF57` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF57`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF58` else after.`GROUPDEF58` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF58`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF59` else after.`GROUPDEF59` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF59`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF60` else after.`GROUPDEF60` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF60`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF61` else after.`GROUPDEF61` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF61`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF62` else after.`GROUPDEF62` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF62`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF63` else after.`GROUPDEF63` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF63`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF64` else after.`GROUPDEF64` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF64`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF65` else after.`GROUPDEF65` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF65`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF66` else after.`GROUPDEF66` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF66`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF67` else after.`GROUPDEF67` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF67`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF68` else after.`GROUPDEF68` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF68`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF69` else after.`GROUPDEF69` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF69`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF70` else after.`GROUPDEF70` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF70`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF71` else after.`GROUPDEF71` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF71`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF72` else after.`GROUPDEF72` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF72`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF73` else after.`GROUPDEF73` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF73`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF74` else after.`GROUPDEF74` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF74`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF75` else after.`GROUPDEF75` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF75`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF76` else after.`GROUPDEF76` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF76`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF77` else after.`GROUPDEF77` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF77`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF78` else after.`GROUPDEF78` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF78`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF79` else after.`GROUPDEF79` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF79`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF80` else after.`GROUPDEF80` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF80`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF81` else after.`GROUPDEF81` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF81`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF82` else after.`GROUPDEF82` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF82`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF83` else after.`GROUPDEF83` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF83`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF84` else after.`GROUPDEF84` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF84`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF85` else after.`GROUPDEF85` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF85`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF86` else after.`GROUPDEF86` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF86`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF87` else after.`GROUPDEF87` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF87`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF88` else after.`GROUPDEF88` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF88`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF89` else after.`GROUPDEF89` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF89`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF90` else after.`GROUPDEF90` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF90`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF91` else after.`GROUPDEF91` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF91`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF92` else after.`GROUPDEF92` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF92`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF93` else after.`GROUPDEF93` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF93`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF94` else after.`GROUPDEF94` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF94`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF95` else after.`GROUPDEF95` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF95`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF96` else after.`GROUPDEF96` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF96`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF97` else after.`GROUPDEF97` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF97`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF98` else after.`GROUPDEF98` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF98`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF99` else after.`GROUPDEF99` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF99`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`GROUPDEF100` else after.`GROUPDEF100` end,CHR(10),''),CHR(13),''),CHR(9),'') as `GROUPDEF100`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`ISRETURN` else after.`ISRETURN` end,CHR(10),''),CHR(13),''),CHR(9),'') as `ISRETURN`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`ISREFERENCED` else after.`ISREFERENCED` end,CHR(10),''),CHR(13),''),CHR(9),'') as `ISREFERENCED`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`ONPOSTDATE` else after.`ONPOSTDATE` end,CHR(10),''),CHR(13),''),CHR(9),'') as `ONPOSTDATE`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`CREATETIME` else after.`CREATETIME` end,CHR(10),''),CHR(13),''),CHR(9),'') as `CREATETIME`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`CREATOR` else after.`CREATOR` end,CHR(10),''),CHR(13),''),CHR(9),'') as `CREATOR`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`MODIFIER` else after.`MODIFIER` end,CHR(10),''),CHR(13),''),CHR(9),'') as `MODIFIER`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`MODIFYTIME` else after.`MODIFYTIME` end,CHR(10),''),CHR(13),''),CHR(9),'') as `MODIFYTIME`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`HROPERATOR` else after.`HROPERATOR` end,CHR(10),''),CHR(13),''),CHR(9),'') as `HROPERATOR`,
REPLACE(REPLACE(REPLACE(case when op_type = 'D' then before.`PSNNAMEPINYIN` else after.`PSNNAMEPINYIN` end,CHR(10),''),CHR(13),''),CHR(9),'') as `PSNNAMEPINYIN`,
`op_type` as `OP_TYPE`,
`op_ts` as `OP_TS`,
`current_ts` as `OGG_TIME`,
CURRENT_TIMESTAMP as `GMT_CREATE`
from KAFKA_SOURCE_FIN_NC_BD_PSNDOC;

中转线路的应用

Posted on 2024-04-17

中转机指的是一个中间服务器,将用户的请求转发到目标服务器上。在使用VPS的时候,也常常会通过中转机进行访问。例如,用户在国内使用VPS搭建了一个网站,但由于网络限制等问题,国外用户无法直接访问该网站。这时,用户可以在国外租用一台VPS作为中转机,然后将中转机和国内的VPS连接起来,通过中转机实现访问。在此过程中,用户的请求会先到达中转机,再由中转机将请求转发到国内的VPS上,最后再将响应返回给用户。中转机也可以增加一些额外的安全性和隐私保护措施,保护用户的数据和隐私。

image-20240417164517758

假设你有 A-B 两台机器,打算使用 A 机器转发流量到 B 机器。常见的用途是国内连接到A机器的网络比较好,然后希望通过A机器转发数据到B机器,再通过B机器干一些不可描述的事情…又或者是 B 机器可以解锁一些在线服务之类,但是直连效果不好,甚至IP都被墙了,想要使用A机器做前置转发。缺点是,只能转发 TCP 或 UDP 流量,带 TLS 的不行

下面介绍两种中转方案

方案一、 使用VPN+V2ray

这种方案在A机器上安装IPsec VPN,在B机器上安装V2ray

在机器A上安装IPsec VPN,我是在Openwrt旁路由上安装,你也可以参考其他方案自行验证

使用docker快速部署一个 IPsec VPN 服务器 | 二丫讲梵 (eryajf.net)

方案二、使用V2ray+V2ray

这种方案需要在AB两台机器上配置V2ray,实现互相通信

1.添加配置

先在 B 机器添加一个 V2Ray 配置,举例: v2ray add tcp 233

这样来就是添加了一个 VMESS-TCP 的配置,并且端口是 233

如果你已经有配置就不用再添加了,反正记下 B 机器的 IP 和配置的 端口 即可

因为利用 A 机器转发的时候必须要填写上 B 机器的 IP,以及要转到到 B 机器的哪个端口

2.door

使用方法: v2ray add door [port] [remote-addr] [remote-port]

在 A 机器执行:v2ray add door,然后输入 B 机器的 IP 和端口

默认情况下 V2Ray 脚本会随机生成一个端口,如果你需要自定义端口请使用 v2ray add door 需要自定义的端口

3.测试

把 B 机器给出的配置里面的地址和端口,改成 A 机器的 IP 和端口即可

就是 B 机器的配置,假设你用 v2rayN 通过 URL 导入了配置,把配置的地址和端口改成 A 机器的 IP 和 Dokodemo-door 端口。

DSM7中Docker MacVLAN的使用

Posted on 2024-04-15

一、 介绍:

MACVLAN是一种网络虚拟化技术,它允许用户将多个虚拟的MAC地址映射到不同的容器或虚拟机上,从而使它们能够在同一物理网络上运行,同时保持相互隔离。具体来说,MACVLAN允许用户创建一组虚拟的接口(类似于真实网络接口),每个接口都拥有独立的MAC地址,并且能够与物理网络中的其他设备进行通信。

通过使用MACVLAN,用户可以实现容器或虚拟机之间的独立网络通信,同时利用主机物理网络的优势,比如更高的带宽和更低的延迟。此外,MACVLAN还可以帮助用户更好地管理网络资源,提高网络性能和安全性。

简单来说就是使用macvlan网络模式的docker容器,可以看作是局域网内的一个独立设备,它会有一个独立的内网IP。每个macvlan下的docker容器,都有自己一套完整的端口可用,不会互相冲突。

二、DSM配置

控制面板-网络-网络界面-管理-Open vSwitch 设置

image-20240415174943584

打开Open vSwitch

image-20240415175008953

Open vSwitch就是虚拟交换机。可以简单这样理解,docker容器接入这台交换机,就可以连上你的路由器,相当于一台手机or平板or盒子接入你家网络。

确认打开Open vSwitch开关以后,我们进入SSH控制台。

输入

image-20240415175124404

图中列出了NAS的所有网卡,其中有一个ovs_eth0的网口,对应NAS物理网口信息。这个网口就是开启了Open vSwitch以后的联网网口。如果你的联网网口是其他口(eth*),这里的ovs_eth*也可能不一样,自行注意。等会创建macvlan网络需要使用这个端口,一定记好,不要搞错。

下一步输入

1
docker network ls

查看docker的网络详情

image-20240415175236036

目前默认只有三种网络模式

bridge、host、none三种网络模式是什么原理作用,大家自行百度即可。

如果已经有driver为macvlan的docker网络,可以执行 docker network rm name 来进行删除,name为macvlan网络实际名称,即图上的NAME栏参数。

确认docker网络中没有macvlan网络,我们再进行下一步。

创建自定义macvlan网络。

创建命令很简单,和创建docker容器类似。

我这里内网网段是 11.0.0.0/24 ,主路由网关 11.0.0.1 ,旁路由网关 11.0.0.2 。

我的目的是让qB和TR不经过旁路由网关,直接走主路由网关,所以要把macvlan的网关设置成 11.0.0.1 。

创建macvlan网络命令如下

仅ipv4

1
docker network create -d macvlan --subnet=11.0.0.0/24 --gateway=11.0.0.1 -o parent=ovs_eth0 name

ipv4&ipv6双栈

1
docker network create -d macvlan --subnet=11.0.0.0/24 --gateway=10.0.0.1 --ipv6 --subnet=2008::/60 --gateway=2008::1  -o parent=ovs_eth0 name

简单解释一下

docker network create -d macvlan #指定创建的网络类型是macvlan

–subnet=11.0.0.0/24 #macvlan的ipv4网段,这里写你的内网网段即可。

–gateway=11.0.0.1 #macvlan的ipv4网关,这里写您需要容器走的网关。

–ipv6 #启用ipv6支持

–subnet=2408::/60 #macvlan的ipv6前缀

–gateway=2408::1 #macvlan的ipv6网关

-o parent=ovs_eth0 #桥接网络走的是ovs_eth0接口,如果你的接口不是这个,请自行更改。

name #macvlan网络的名称

参数怎么填大家按照自己实际需求情况来

image-20240415175421688

我这里仅供参考

上图的创建命令

1
docker network create -d macvlan --subnet=11.0.0.0/24 --gateway=11.0.0.1 --ipv6 --subnet=2408:825c:900:xxxx::/60 --gateway=2408:825c:900:xxxx::1  -o parent=ovs_eth0 GGGGG

创建了一个名为GGGGG(名字随意,你喜欢就可以)的ipv4&ipv6双栈macvlan网络。

创建完成以后可以再次输入 docker network ls 检查是否创建成功(如上图)。

也可以打开docker的webui,检查网络信息。

image-20240415175451364

macvlan网络创建成功以后,我们就可以使用它来创建具体容器了。

比如我这里要创建三个使用macvlan的qB

命令如下

1
2
3
4
5
docker run -d --name=qB-down1 --net=GGGGG --ip=11.0.0.151 -v /volume1/docker/qB/config1:/config --privileged=true --restart=always linuxserver/qbittorrent:latest

docker run -d --name=qB-down2 --net=GGGGG --ip=11.0.0.152 -v /volume1/docker/qB/config2:/config --privileged=true --restart=always linuxserver/qbittorrent:latest

docker run -d --name=qB-down3 --net=GGGGG --ip=11.0.0.153 -v /volume1/docker/qB/config3:/config --privileged=true --restart=always linuxserver/qbittorrent:latest

重点提一下

–net=GGGGG #为容器使用名为GGGGG的docker网络模式

–ip=11.0.0.xxx #指定容器IP

其余部分跟普通创建容器一致。

创建其他容器只要 –net 配置为macvlan网络名称即可,大家自行举一反三。

创建成功以后可以看到macvlan网络模式下有三个容器。

image-20240415175521503

我们进入容器内检查网络情况。

我这里选择进入qB-down1

1
docker exec -it qB-down1 /bin/bash

进入容器后输入 ifconfig 查看网络情况,输入 ip route show 查看网关。

image-20240415175553960

可以发现容器网关已经是我需要的主路由网关 11.0.0.1 ,并且获取到了ipv6。

下面测试一下网络是否正常

先为qB固定传输端口为22222并配置好端口转发

image-20240415175616684

image-20240415175628805

尝试下载一个种子。

image-20240415175654017

ipv6 ipv4都可以正常链接

直接看站点信息

image-20240415175714031

ipv6、ipv4均正常

三、与宿主机互通

一般在macvlan模式下同网段的其他机器可以和容器互通,但宿主不能和容器互通,这是在macvlan模式设计的时候为了安全而禁止了宿主机和容器直接通信。”援引Rehtt大佬的话。

打个比方就是你用host模式创建的iyuu,默认情况下是访问不了ping不通macvlan模式下的qB客户端的,反之也一样

image-20240415175807162

尝试宿主机直接ping容器qB-down1的IP ,无法ping通。

不过我们还有曲线救国的办法

具体直接看Rehtt大佬的教程,里面有详细原理方法介绍。https://rehtt.com/index.php/archives/236/

如果想要实现互通,有个曲线救国的方法,就是macvlan与macvlan之间可以互通,只需要在宿主机再创建一个macvlan网络,然后修改路由,让数据经过这个macvlan达到互通的目的。”同样援引Rehtt大佬的话。

命令也很简单

以我前面的配置环境举例就是以下几条命令即可

1
2
3
4
5
6
ip link add TTTTT link ovs_eth0 type macvlan mode bridge
ip addr add 11.0.0.160 dev TTTTT
ip link set TTTTT up
ip route add 11.0.0.151 dev TTTTT
ip route add 11.0.0.152 dev TTTTT
ip route add 11.0.0.153 dev TTTTT

以下为简单解释

ip link add TTTTT link ovs_eth0 type macvlan mode bridge #创建一个名为TTTTT的macvlan接口,名字随意你可以设置为你喜欢的名字。ovs_eth0和之前一样,需要写为开启了Open vSwitch以后的联网网口。

ip addr add 11.0.0.160 dev TTTTT #设置TTTTT接口的IP为11.0.0.160,需要和你之前设置的第一个macvlan(GGGGG)同网段。

ip link set TTTTT up #启动TTTTT接口。

ip route add 11.0.0.151 dev TTTTT #让IP11.0.0.151(qB-down1)到宿主机的路由经过TTTTT接口。

ip route add 11.0.0.152 dev TTTTT #让IP11.0.0.152(qB-down2)到宿主机的路由经过TTTTT接口。

ip route add 11.0.0.153 dev TTTTT #让IP11.0.0.153(qB-down3)到宿主机的路由经过TTTTT接口。

image-20240415175949063

创建完成后输入 ip addr 可以发现新建的TTTTT接口已经生效。

尝试在宿主机ping容器IP

image-20240415180007613

均可ping通,说明配置已经生效。

到这里就完成了整套macvlan配置,可以正常使用没有问题了

四、 开机启动

那就是上面macvlan网络模式下容器与宿主机互通的相关配置,默认情况下重启后会重置。

每次重启后就要重新执行一遍

1
2
3
4
5
6
ip link add TTTTT link ovs_eth0 type macvlan mode bridge
ip addr add 11.0.0.160 dev TTTTT
ip link set TTTTT up
ip route add 11.0.0.151 dev TTTTT
ip route add 11.0.0.152 dev TTTTT
ip route add 11.0.0.153 dev TTTTT

手动输入,作为一个懒人,这能忍?

所以最后就是配置开机启动自动配置。

因为群晖7.0变动比较大,不能简单地用系统自带的开机执行脚本方法实现。

我们需要把命令配置为systemd服务,通过systemd来实现开机启动自动配置。

我们先创建一个新的systemd服务,取名 macvlan.service

进入SSH执行

1
vi /usr/local/lib/systemd/system/macvlan.service

按i键,进入编辑模式,输入以下内容。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[Unit]
Description=Macvlan shim to allow docker to route to host
# After=pkgctl-Docker.service
# BindsTo=pkgctl-Docker.service
ReloadPropagatedFrom=pkgctl-Docker.service
PartOf=pkgctl-Docker.service

[Service]
Type=oneshot
ExecStart=/bin/bash /usr/local/bin/macvlan_start.sh
ExecStop=/bin/bash /usr/local/bin/macvlan_stop.sh
RemainAfterExit=yes
Restart=no

[Install]
WantedBy=pkgctl-Docker.service

然后按 esc 键入 :wq 保存修改

然后我们要配置两个bash脚本。

也就是要对应macvlan.service服务配置内容中,start服务和stop服务两个脚本的路径。

image-20240415180209536

先配置start服务执行脚本

执行

1
vi /usr/local/bin/macvlan_start.sh

同样按i进入编辑模式,输入需要开机执行的命令,也就是我们的macvlan与宿主机互通需要的命令。

1
2
3
4
5
6
ip link add TTTTT link ovs_eth0 type macvlan mode bridge
ip addr add 11.0.0.160 dev TTTTT
ip link set TTTTT up
ip route add 11.0.0.151 dev TTTTT
ip route add 11.0.0.152 dev TTTTT
ip route add 11.0.0.153 dev TTTTT

image-20240415180247287

确定无误后,按 Esc 键入 :wq 保存脚本。

接下来配置stop脚本

1
vi /usr/local/bin/macvlan_stop.sh

输入对应的停止服务命令,如下。

1
2
3
4
5
6
ip route del 10.0.0.151 dev TTTTT || true
ip route del 10.0.0.152 dev TTTTT || true
ip route del 10.0.0.153 dev TTTTT || true
ip link set TTTTT down || true
ip addr del 11.0.0.160 dev TTTTT || true
ip link del TTTTT || true

同样操作,保存脚本。

image-20240415180342650

这样就配置好了启动和停止脚本。

以后只要macvlan.service在运行中,就会检测docker服务运行状态。当docker服务启动完成后,macvlan.service服务会执行start脚本。当docker服务关闭后,macvlan.service服务会执行stop脚本。

然后我们重新加载一下systemd服务

执行

1
2
systemctl daemon-reload
systemctl enable macvlan

这样macvlan.service服务已经在systemd服务列表中了。

如果想取消

1
systemctl disable macvlan

其他的命令介绍

1
2
3
systemctl start macvlan # 启动
systemctl stop macvlan # 停止
systemctl status macvlan # 查看状态

不迷路,转载NAS相关 篇十二:群晖DSM7下,docker中macvlan网络模式配置简单教程 实现macvlan与host网络互通,及互通服务自启动_NAS存储_什么值得买 (smzdm.com)

英国手机卡 giffgaff 2023 激活与使用指南

Posted on 2024-04-09

购买地址:giffgaff英国手机卡 | 艾贸科技 (yihao.de)

简介

giffgaff 成立于 2009 年 11 月 25 日,是一家总部位于英国伦敦的移动虚拟网络运营商,为 O2 全资子公司,因此 giffgaff 使用 O2 的网络,享有 O2 相同的 99% 网络覆盖率,且可访问英国 193 个城镇的 5G 网络。相比于 O2,giffgaff 提供每月 6 英镑 1GB 的低成本手机移动网络服务。

本文将带您了解以下内容:

  • 可选套餐 (goodybag)
  • 漫游资费
  • 注意事项
  • 激活流程
  • 如何关闭语音信箱

可选套餐 (goodybag)

giffgaff 提供两种类型的套餐可供选择,Golden goodybag 必须绑定自动扣费方式且设置自动续费才可购买,相较于普通套餐包,在同样的价格下它提供了更多的数据流量。需要注意的是,套餐包所包含的流量仅限英国境内以及欧盟国家境内漫游时有限制地使用。

image-20240409004657067

漫游资费

可以前往 https://www.giffgaff.com/roaming-charges 进行查询,以下为截至发稿时中国大陆地区的漫游资费。20p 即 20 pence,等于 GBP 0.2。由于微信公众平台不允许插入外站链接,本文中所有的网址均需要您手动复制至浏览器打开,后文中不再进行重复赘述。

image-20240409004726408

注意事项

一、以下操作均会造成扣费:

  1. 短信、通话、上网。资费见上文。

  2. 手动拒接任何来电。由于 giffgaff 默认开通了语音信箱功能,拒接来电后将会自动接入语音信箱产生费用,如需要避免,请参见后文

    手动关闭来电转接功能。

  3. 激活 FaceTime 与 iMessage 服务。如不需要 iOS 提供的 FaceTime 与 iMessage 服务,请在系统弹出以下对话框时点击取消按钮。

image-20240409004829440

二、激活后的号卡需要每 180 天内进行一次消费以进行保号,若长时间未消费,会收到下图所示的警告邮件,请按邮件提示进行操作,不予理会将被销号:

image-20240409004850746

激活流程

一、将 SIM 卡插入手机,入网后稍等片刻,会收到一条来自 43432 的短信,点击短信中的链接进入激活页面。

image-20240409004917454

二、如在上一步中未收到短信,请手动打开 https://www.giffgaff.com/activate ,并输入卡片上的激活码进行激活。

image-20240409004941080

三、选择适合自己的套餐,前文中我们已经了解过了套餐的区别,如果暂时没有使用需求,可以将页面拉至最下方,选择 Pay as you go ,激活后可以正常接收短信。

image-20240409004958605

四、首次充值需要至少充值 10 英镑,仅支持使用 VISA / MasterCard 的借记卡或信用卡进行付款(如没有指定银行卡,可以选择淘宝购买充值卡密,点击 Or redeem a top-up voucher 进行激活)。

image-20240409005016804

五、使用卡密充值:需要购买如图所示同类商品,10 英镑即可。使用银行卡激活****请跳过本段直接看第六步。

image-20240409005033932

image-20240409005046061

image-20240409005101811

六、使用银行卡充值:部分银行付款时需要进行 3DS 验证,加载较慢需要耐心等待。使用充值卡密激活****请跳过本段直接看第七步。

image-20240409005127496

image-20240409005136899

七、付款成功后,页面上将出现 giffgaff 分配给您的电话号码。如页面中出现与图示红框内容相同的文字提示,则会收到赠送的 5 英镑余额。至此,您已完成了整个激活流程。

如何关闭语音信箱

参考 https://www.giffgaff.com/help/articles/how-do-i-turn-voicemail-on-or-off ,在手机拨号盘输入 ##002# 并拨打,即可关闭语音信箱。

image-20240409005230111

image-20240409005241930

FRDS拆包辅种

Posted on 2024-03-26

利用拆包大法混一混时魔

image-20240326183435863

一、下载一个DouBan Top250大包

去一个小站点下载一个Douban Top250,推荐下载我这里的大包。因为大包不一样,可能会辅不上。

image-20240326183607918

查看一下你下载到磁盘上的目录,这里以我的目录为例,

1
downloads/bz/DouBan.2022.11.11.Top.250.BluRay.1080p.x265.10bit.MNHD-FRDS

二、 下载FRDS种子

  1. 创建一个txt文件

  2. 将下面的代码,拷贝到txt里面,把里面的{FRDS_URL}替换成FRDS的URL

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<a id="link">链接</a>
<script>
function delay(time) {
return new Promise((res) => setTimeout(res, time));
}

const links = [
// 400多个种子会有冗余
"https://{FRDS_URL}/download.php?id=5068",
"https://{FRDS_URL}/download.php?id=5775",
"https://{FRDS_URL}/download.php?id=5089",
"https://{FRDS_URL}/download.php?id=7103",
"https://{FRDS_URL}/download.php?id=12101",
"https://{FRDS_URL}/download.php?id=6094",
"https://{FRDS_URL}/download.php?id=6405",
"https://{FRDS_URL}/download.php?id=6072",
"https://{FRDS_URL}/download.php?id=10276",
"https://{FRDS_URL}/download.php?id=5087",
"https://{FRDS_URL}/download.php?id=5792",
"https://{FRDS_URL}/download.php?id=5130",
"https://{FRDS_URL}/download.php?id=5496",
"https://{FRDS_URL}/download.php?id=7018",
"https://{FRDS_URL}/download.php?id=10357",
"https://{FRDS_URL}/download.php?id=6141",
"https://{FRDS_URL}/download.php?id=4735",
"https://{FRDS_URL}/download.php?id=5095",
"https://{FRDS_URL}/download.php?id=5076",
"https://{FRDS_URL}/download.php?id=5959",
"https://{FRDS_URL}/download.php?id=9317",
"https://{FRDS_URL}/download.php?id=3851",
"https://{FRDS_URL}/download.php?id=5590",
"https://{FRDS_URL}/download.php?id=6514",
"https://{FRDS_URL}/download.php?id=5772",
"https://{FRDS_URL}/download.php?id=4613",
"https://{FRDS_URL}/download.php?id=4271",
"https://{FRDS_URL}/download.php?id=10037",
"https://{FRDS_URL}/download.php?id=5794",
"https://{FRDS_URL}/download.php?id=7159",
"https://{FRDS_URL}/download.php?id=5114",
"https://{FRDS_URL}/download.php?id=5206",
"https://{FRDS_URL}/download.php?id=4610",
"https://{FRDS_URL}/download.php?id=9879",
"https://{FRDS_URL}/download.php?id=856410",
"https://{FRDS_URL}/download.php?id=9126",
"https://{FRDS_URL}/download.php?id=7532",
"https://{FRDS_URL}/download.php?id=8600",
"https://{FRDS_URL}/download.php?id=13364",
"https://{FRDS_URL}/download.php?id=8471",
"https://{FRDS_URL}/download.php?id=8764",
"https://{FRDS_URL}/download.php?id=4446",
"https://{FRDS_URL}/download.php?id=12879",
"https://{FRDS_URL}/download.php?id=12862",
"https://{FRDS_URL}/download.php?id=11581",
"https://{FRDS_URL}/download.php?id=11483",
"https://{FRDS_URL}/download.php?id=12782",
"https://{FRDS_URL}/download.php?id=12202",
"https://{FRDS_URL}/download.php?id=5132",
"https://{FRDS_URL}/download.php?id=5128",
"https://{FRDS_URL}/download.php?id=5127",
"https://{FRDS_URL}/download.php?id=6390",
"https://{FRDS_URL}/download.php?id=5070",
"https://{FRDS_URL}/download.php?id=13098",
"https://{FRDS_URL}/download.php?id=6132",
"https://{FRDS_URL}/download.php?id=4742",
"https://{FRDS_URL}/download.php?id=4118",
"https://{FRDS_URL}/download.php?id=5729",
"https://{FRDS_URL}/download.php?id=6143",
"https://{FRDS_URL}/download.php?id=5066",
"https://{FRDS_URL}/download.php?id=6389",
"https://{FRDS_URL}/download.php?id=9124",
"https://{FRDS_URL}/download.php?id=6438",
"https://{FRDS_URL}/download.php?id=5882",
"https://{FRDS_URL}/download.php?id=4274",
"https://{FRDS_URL}/download.php?id=11895",
"https://{FRDS_URL}/download.php?id=13658",
"https://{FRDS_URL}/download.php?id=10860",
"https://{FRDS_URL}/download.php?id=942516",
"https://{FRDS_URL}/download.php?id=6439",
"https://{FRDS_URL}/download.php?id=5813",
"https://{FRDS_URL}/download.php?id=5032",
"https://{FRDS_URL}/download.php?id=9246",
"https://{FRDS_URL}/download.php?id=11295",
"https://{FRDS_URL}/download.php?id=3970",
"https://{FRDS_URL}/download.php?id=5998",
"https://{FRDS_URL}/download.php?id=12313",
"https://{FRDS_URL}/download.php?id=4224",
"https://{FRDS_URL}/download.php?id=6291",
"https://{FRDS_URL}/download.php?id=11891",
"https://{FRDS_URL}/download.php?id=4540",
"https://{FRDS_URL}/download.php?id=4537",
"https://{FRDS_URL}/download.php?id=11752",
"https://{FRDS_URL}/download.php?id=6595",
"https://{FRDS_URL}/download.php?id=6721",
"https://{FRDS_URL}/download.php?id=4857",
"https://{FRDS_URL}/download.php?id=3967",
"https://{FRDS_URL}/download.php?id=3855",
"https://{FRDS_URL}/download.php?id=5375",
"https://{FRDS_URL}/download.php?id=5312",
"https://{FRDS_URL}/download.php?id=6903",
"https://{FRDS_URL}/download.php?id=3982",
"https://{FRDS_URL}/download.php?id=3981",
"https://{FRDS_URL}/download.php?id=5962",
"https://{FRDS_URL}/download.php?id=5069",
"https://{FRDS_URL}/download.php?id=4018",
"https://{FRDS_URL}/download.php?id=4010",
"https://{FRDS_URL}/download.php?id=9290",
"https://{FRDS_URL}/download.php?id=4106",
"https://{FRDS_URL}/download.php?id=3978",
"https://{FRDS_URL}/download.php?id=6787",
"https://{FRDS_URL}/download.php?id=6399",
"https://{FRDS_URL}/download.php?id=5771",
"https://{FRDS_URL}/download.php?id=5952",
"https://{FRDS_URL}/download.php?id=4497",
"https://{FRDS_URL}/download.php?id=10652",
"https://{FRDS_URL}/download.php?id=11865",
"https://{FRDS_URL}/download.php?id=12145",
"https://{FRDS_URL}/download.php?id=11254",
"https://{FRDS_URL}/download.php?id=6879",
"https://{FRDS_URL}/download.php?id=10300",
"https://{FRDS_URL}/download.php?id=13195",
"https://{FRDS_URL}/download.php?id=4943",
"https://{FRDS_URL}/download.php?id=9640",
"https://{FRDS_URL}/download.php?id=915060",
"https://{FRDS_URL}/download.php?id=6099",
"https://{FRDS_URL}/download.php?id=6979",
"https://{FRDS_URL}/download.php?id=12228",
"https://{FRDS_URL}/download.php?id=3980",
"https://{FRDS_URL}/download.php?id=3971",
"https://{FRDS_URL}/download.php?id=10986",
"https://{FRDS_URL}/download.php?id=2798",
"https://{FRDS_URL}/download.php?id=9653",
"https://{FRDS_URL}/download.php?id=4606",
"https://{FRDS_URL}/download.php?id=5380",
"https://{FRDS_URL}/download.php?id=5830",
"https://{FRDS_URL}/download.php?id=6039",
"https://{FRDS_URL}/download.php?id=5839",
"https://{FRDS_URL}/download.php?id=9580",
"https://{FRDS_URL}/download.php?id=10559",
"https://{FRDS_URL}/download.php?id=3804",
"https://{FRDS_URL}/download.php?id=5368",
"https://{FRDS_URL}/download.php?id=5369",
"https://{FRDS_URL}/download.php?id=10713",
"https://{FRDS_URL}/download.php?id=5558",
"https://{FRDS_URL}/download.php?id=5764",
"https://{FRDS_URL}/download.php?id=1738414",
"https://{FRDS_URL}/download.php?id=7025",
"https://{FRDS_URL}/download.php?id=6073",
"https://{FRDS_URL}/download.php?id=4495",
"https://{FRDS_URL}/download.php?id=5997",
"https://{FRDS_URL}/download.php?id=7973",
"https://{FRDS_URL}/download.php?id=5321",
"https://{FRDS_URL}/download.php?id=6747",
"https://{FRDS_URL}/download.php?id=4544",
"https://{FRDS_URL}/download.php?id=4618",
"https://{FRDS_URL}/download.php?id=10352",
"https://{FRDS_URL}/download.php?id=8511",
"https://{FRDS_URL}/download.php?id=6632",
"https://{FRDS_URL}/download.php?id=10914",
"https://{FRDS_URL}/download.php?id=6351",
"https://{FRDS_URL}/download.php?id=6346",
"https://{FRDS_URL}/download.php?id=6927",
"https://{FRDS_URL}/download.php?id=4554",
"https://{FRDS_URL}/download.php?id=6998",
"https://{FRDS_URL}/download.php?id=9863",
"https://{FRDS_URL}/download.php?id=5856",
"https://{FRDS_URL}/download.php?id=6616",
"https://{FRDS_URL}/download.php?id=7356",
"https://{FRDS_URL}/download.php?id=10301",
"https://{FRDS_URL}/download.php?id=4276",
"https://{FRDS_URL}/download.php?id=3983",
"https://{FRDS_URL}/download.php?id=5418",
"https://{FRDS_URL}/download.php?id=4410",
"https://{FRDS_URL}/download.php?id=4409",
"https://{FRDS_URL}/download.php?id=3854",
"https://{FRDS_URL}/download.php?id=9301",
"https://{FRDS_URL}/download.php?id=6330",
"https://{FRDS_URL}/download.php?id=6852",
"https://{FRDS_URL}/download.php?id=9676",
"https://{FRDS_URL}/download.php?id=4114",
"https://{FRDS_URL}/download.php?id=5460",
"https://{FRDS_URL}/download.php?id=10994",
"https://{FRDS_URL}/download.php?id=5761",
"https://{FRDS_URL}/download.php?id=4186",
"https://{FRDS_URL}/download.php?id=5979",
"https://{FRDS_URL}/download.php?id=5143",
"https://{FRDS_URL}/download.php?id=5151",
"https://{FRDS_URL}/download.php?id=5144",
"https://{FRDS_URL}/download.php?id=7451",
"https://{FRDS_URL}/download.php?id=4417",
"https://{FRDS_URL}/download.php?id=7001",
"https://{FRDS_URL}/download.php?id=8247",
"https://{FRDS_URL}/download.php?id=12535",
"https://{FRDS_URL}/download.php?id=5860",
"https://{FRDS_URL}/download.php?id=5093",
"https://{FRDS_URL}/download.php?id=9880",
"https://{FRDS_URL}/download.php?id=5047",
"https://{FRDS_URL}/download.php?id=6075",
"https://{FRDS_URL}/download.php?id=6596",
"https://{FRDS_URL}/download.php?id=5739",
"https://{FRDS_URL}/download.php?id=5738",
"https://{FRDS_URL}/download.php?id=12663",
"https://{FRDS_URL}/download.php?id=5886",
"https://{FRDS_URL}/download.php?id=7041",
"https://{FRDS_URL}/download.php?id=6639",
"https://{FRDS_URL}/download.php?id=5077",
"https://{FRDS_URL}/download.php?id=5588",
"https://{FRDS_URL}/download.php?id=10041",
"https://{FRDS_URL}/download.php?id=3933",
"https://{FRDS_URL}/download.php?id=5981",
"https://{FRDS_URL}/download.php?id=4542",
"https://{FRDS_URL}/download.php?id=4543",
"https://{FRDS_URL}/download.php?id=9073",
"https://{FRDS_URL}/download.php?id=10524",
"https://{FRDS_URL}/download.php?id=7190",
"https://{FRDS_URL}/download.php?id=10754",
"https://{FRDS_URL}/download.php?id=5862",
"https://{FRDS_URL}/download.php?id=11315",
"https://{FRDS_URL}/download.php?id=7104",
"https://{FRDS_URL}/download.php?id=5063",
"https://{FRDS_URL}/download.php?id=7705",
"https://{FRDS_URL}/download.php?id=5067",
"https://{FRDS_URL}/download.php?id=3965",
"https://{FRDS_URL}/download.php?id=4037",
"https://{FRDS_URL}/download.php?id=7065",
"https://{FRDS_URL}/download.php?id=8544",
"https://{FRDS_URL}/download.php?id=4668",
"https://{FRDS_URL}/download.php?id=4669",
"https://{FRDS_URL}/download.php?id=8119",
"https://{FRDS_URL}/download.php?id=10802",
"https://{FRDS_URL}/download.php?id=5749",
"https://{FRDS_URL}/download.php?id=4122",
"https://{FRDS_URL}/download.php?id=13374",
"https://{FRDS_URL}/download.php?id=1974610",
"https://{FRDS_URL}/download.php?id=1491774",
"https://{FRDS_URL}/download.php?id=1974795",
"https://{FRDS_URL}/download.php?id=1975635",
"https://{FRDS_URL}/download.php?id=1079",
"https://{FRDS_URL}/download.php?id=4271",
"https://{FRDS_URL}/download.php?id=10037",
"https://{FRDS_URL}/download.php?id=9879",
"https://{FRDS_URL}/download.php?id=856410",
"https://{FRDS_URL}/download.php?id=9126",
"https://{FRDS_URL}/download.php?id=12879",
"https://{FRDS_URL}/download.php?id=12862",
"https://{FRDS_URL}/download.php?id=8600",
"https://{FRDS_URL}/download.php?id=11581",
"https://{FRDS_URL}/download.php?id=11483",
"https://{FRDS_URL}/download.php?id=527",
"https://{FRDS_URL}/download.php?id=13374",
"https://{FRDS_URL}/download.php?id=12782",
"https://{FRDS_URL}/download.php?id=8764",
"https://{FRDS_URL}/download.php?id=12202",
"https://{FRDS_URL}/download.php?id=13658",
"https://{FRDS_URL}/download.php?id=5997",
"https://{FRDS_URL}/download.php?id=7973",
"https://{FRDS_URL}/download.php?id=5882",
"https://{FRDS_URL}/download.php?id=5127",
"https://{FRDS_URL}/download.php?id=5132",
"https://{FRDS_URL}/download.php?id=5128",
"https://{FRDS_URL}/download.php?id=6390",
"https://{FRDS_URL}/download.php?id=1975635",
"https://{FRDS_URL}/download.php?id=13098",
"https://{FRDS_URL}/download.php?id=4742",
"https://{FRDS_URL}/download.php?id=4118",
"https://{FRDS_URL}/download.php?id=6389",
"https://{FRDS_URL}/download.php?id=1974795",
"https://{FRDS_URL}/download.php?id=9124",
"https://{FRDS_URL}/download.php?id=6438",
"https://{FRDS_URL}/download.php?id=4274",
"https://{FRDS_URL}/download.php?id=11895",
"https://{FRDS_URL}/download.php?id=10860",
"https://{FRDS_URL}/download.php?id=942516",
"https://{FRDS_URL}/download.php?id=6439",
"https://{FRDS_URL}/download.php?id=5032",
"https://{FRDS_URL}/download.php?id=9246",
"https://{FRDS_URL}/download.php?id=11295",
"https://{FRDS_URL}/download.php?id=5998",
"https://{FRDS_URL}/download.php?id=12313",
"https://{FRDS_URL}/download.php?id=6291",
"https://{FRDS_URL}/download.php?id=11891",
"https://{FRDS_URL}/download.php?id=4540",
"https://{FRDS_URL}/download.php?id=4537",
"https://{FRDS_URL}/download.php?id=11752",
"https://{FRDS_URL}/download.php?id=6721",
"https://{FRDS_URL}/download.php?id=3967",
"https://{FRDS_URL}/download.php?id=5375",
"https://{FRDS_URL}/download.php?id=6903",
"https://{FRDS_URL}/download.php?id=5962",
"https://{FRDS_URL}/download.php?id=4018",
"https://{FRDS_URL}/download.php?id=4106",
"https://{FRDS_URL}/download.php?id=6787",
"https://{FRDS_URL}/download.php?id=11865",
"https://{FRDS_URL}/download.php?id=11254",
"https://{FRDS_URL}/download.php?id=6879",
"https://{FRDS_URL}/download.php?id=10300",
"https://{FRDS_URL}/download.php?id=13195",
"https://{FRDS_URL}/download.php?id=9640",
"https://{FRDS_URL}/download.php?id=915060",
"https://{FRDS_URL}/download.php?id=6979",
"https://{FRDS_URL}/download.php?id=12228",
"https://{FRDS_URL}/download.php?id=10986",
"https://{FRDS_URL}/download.php?id=2798",
"https://{FRDS_URL}/download.php?id=9653",
"https://{FRDS_URL}/download.php?id=4606",
"https://{FRDS_URL}/download.php?id=5380",
"https://{FRDS_URL}/download.php?id=10559",
"https://{FRDS_URL}/download.php?id=3804",
"https://{FRDS_URL}/download.php?id=10713",
"https://{FRDS_URL}/download.php?id=5558",
"https://{FRDS_URL}/download.php?id=1738414",
"https://{FRDS_URL}/download.php?id=7025",
"https://{FRDS_URL}/download.php?id=6073",
"https://{FRDS_URL}/download.php?id=4495",
"https://{FRDS_URL}/download.php?id=6747",
"https://{FRDS_URL}/download.php?id=4544",
"https://{FRDS_URL}/download.php?id=4618",
"https://{FRDS_URL}/download.php?id=10352",
"https://{FRDS_URL}/download.php?id=8511",
"https://{FRDS_URL}/download.php?id=6632",
"https://{FRDS_URL}/download.php?id=10914",
"https://{FRDS_URL}/download.php?id=6346",
"https://{FRDS_URL}/download.php?id=6927",
"https://{FRDS_URL}/download.php?id=4554",
"https://{FRDS_URL}/download.php?id=6616",
"https://{FRDS_URL}/download.php?id=4403",
"https://{FRDS_URL}/download.php?id=7356",
"https://{FRDS_URL}/download.php?id=10301",
"https://{FRDS_URL}/download.php?id=4276",
"https://{FRDS_URL}/download.php?id=5418",
"https://{FRDS_URL}/download.php?id=4409",
"https://{FRDS_URL}/download.php?id=4410",
"https://{FRDS_URL}/download.php?id=9301",
"https://{FRDS_URL}/download.php?id=6330",
"https://{FRDS_URL}/download.php?id=6852",
"https://{FRDS_URL}/download.php?id=9676",
"https://{FRDS_URL}/download.php?id=4114",
"https://{FRDS_URL}/download.php?id=5052",
"https://{FRDS_URL}/download.php?id=5460",
"https://{FRDS_URL}/download.php?id=10994",
"https://{FRDS_URL}/download.php?id=7001",
"https://{FRDS_URL}/download.php?id=8247",
"https://{FRDS_URL}/download.php?id=12535",
"https://{FRDS_URL}/download.php?id=1292008",
"https://{FRDS_URL}/download.php?id=5093",
"https://{FRDS_URL}/download.php?id=9880",
"https://{FRDS_URL}/download.php?id=5047",
"https://{FRDS_URL}/download.php?id=1974610",
"https://{FRDS_URL}/download.php?id=6596",
"https://{FRDS_URL}/download.php?id=5738",
"https://{FRDS_URL}/download.php?id=12663",
"https://{FRDS_URL}/download.php?id=1491774",
"https://{FRDS_URL}/download.php?id=7041",
"https://{FRDS_URL}/download.php?id=6639",
"https://{FRDS_URL}/download.php?id=1079",
"https://{FRDS_URL}/download.php?id=5588",
"https://{FRDS_URL}/download.php?id=10041",
"https://{FRDS_URL}/download.php?id=3933",
"https://{FRDS_URL}/download.php?id=4542",
"https://{FRDS_URL}/download.php?id=4543",
"https://{FRDS_URL}/download.php?id=9073",
"https://{FRDS_URL}/download.php?id=10524",
"https://{FRDS_URL}/download.php?id=10754",
"https://{FRDS_URL}/download.php?id=5862",
"https://{FRDS_URL}/download.php?id=11315",
"https://{FRDS_URL}/download.php?id=7104",
"https://{FRDS_URL}/download.php?id=7705",
"https://{FRDS_URL}/download.php?id=7065",
"https://{FRDS_URL}/download.php?id=8544",
"https://{FRDS_URL}/download.php?id=4669",
"https://{FRDS_URL}/download.php?id=4668",
"https://{FRDS_URL}/download.php?id=8119",
"https://{FRDS_URL}/download.php?id=4122",
"https://{FRDS_URL}/download.php?id=5775",
"https://{FRDS_URL}/download.php?id=7103",
"https://{FRDS_URL}/download.php?id=12101",
"https://{FRDS_URL}/download.php?id=6405",
"https://{FRDS_URL}/download.php?id=6072",
"https://{FRDS_URL}/download.php?id=10276",
"https://{FRDS_URL}/download.php?id=13626",
"https://{FRDS_URL}/download.php?id=13583",
"https://{FRDS_URL}/download.php?id=5496",
"https://{FRDS_URL}/download.php?id=7018",
"https://{FRDS_URL}/download.php?id=10357",
"https://{FRDS_URL}/download.php?id=6141",
"https://{FRDS_URL}/download.php?id=4735",
"https://{FRDS_URL}/download.php?id=4895",
"https://{FRDS_URL}/download.php?id=5095",
"https://{FRDS_URL}/download.php?id=5076",
"https://{FRDS_URL}/download.php?id=9317",
"https://{FRDS_URL}/download.php?id=5590",
"https://{FRDS_URL}/download.php?id=5772",
"https://{FRDS_URL}/download.php?id=4088",
"https://{FRDS_URL}/download.php?id=1840321",
"https://{FRDS_URL}/download.php?id=12383",
"https://{FRDS_URL}/download.php?id=10652#",
"https://{FRDS_URL}/download.php?id=10652",
"https://{FRDS_URL}/download.php?id=9580",
"https://{FRDS_URL}/download.php?id=5886",
"https://{FRDS_URL}/download.php?id=12793",
"https://{FRDS_URL}/download.php?id=2541",
"https://{FRDS_URL}/download.php?id=1818",
"https://{FRDS_URL}/download.php?id=7451",
"https://{FRDS_URL}/download.php?id=1976323",
"https://{FRDS_URL}/download.php?id=10802",
"https://{FRDS_URL}/download.php?id=11318",
"https://{FRDS_URL}/download.php?id=4446",
"https://{FRDS_URL}/download.php?id=1977576",
"https://{FRDS_URL}/download.php?id=1977573",
"https://{FRDS_URL}/download.php?id=1977574",
"https://{FRDS_URL}/download.php?id=1977578",
"https://{FRDS_URL}/download.php?id=1977575",
"https://{FRDS_URL}/download.php?id=1977566",
"https://{FRDS_URL}/download.php?id=1977577",
"https://{FRDS_URL}/download.php?id=4236",
"https://{FRDS_URL}/download.php?id=5887"
];
const a = document.getElementById("link");

async function download() {
for (const link of links) {
await delay(2000);
a.href = link;
a.click();
}
}

download();
</script>
</body>
</html>
  1. 等待种子下好以后,开始添加种子

推荐使用TR进行上传校验,因为QB很占用内存。

在操作之前推荐你限速TR的下载为0,避免一会上传完种子直接下载了,因为我们是想校验种子

因为上面利用脚本下载的种子也是冗余过的种子,很多种子都不免费

打开TR:

image-20240327103833112

点击左上角的⬇️,选择刚刚下载的种子,然后回车。

在下载界面一定要选择好存储的目录,这里的目录要写Douban的那个目录,按照自己的目录替换

image-20240326184551365

添加以后,等待种子校验即可。

三、 IMDb Top250

关于IMDb的Top250和Douban的原理一样,我是在红豆饭上下的

image-20240329141228999

值得注意的是,种子里面有001、002、需要到磁盘上将讲文件的名字替换,我写了一个批量替换的脚本,可以参考使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247

cd /volume2/media/downloads/bz/IMDb.2019.07.29.Top.250.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 001.肖申克的救赎The.Shawshank.Redemption.1994.BluRay.1080p.x265.10bit.5Audio.MNHD-FRDS 肖申克的救赎The.Shawshank.Redemption.1994.BluRay.1080p.x265.10bit.5Audio.MNHD-FRDS
mv 002.教父.The.Godfather.1972.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 教父.The.Godfather.1972.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 003.教父2.The.Godfather.Part.II.1974.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 教父2.The.Godfather.Part.II.1974.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 004.蝙蝠侠前传2黑暗骑士.The.Dark.Knight.2008.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 蝙蝠侠前传2黑暗骑士.The.Dark.Knight.2008.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 005.十二怒汉.12.Angry.Men.1957.BluRay.1080p.x265.10bit.MNHD-FRDS 十二怒汉.12.Angry.Men.1957.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 006.辛德勒的名单.Schindlers.List.1993.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 辛德勒的名单.Schindlers.List.1993.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 007.指环王:国王归来.TLOTR.The.Return.of.the.King.2003.EE.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 指环王:国王归来.TLOTR.The.Return.of.the.King.2003.EE.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 008.低俗小说.Pulp.Fiction.1994.BluRay.1080p.x265.10bit.MNHD-FRDS 低俗小说.Pulp.Fiction.1994.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 009.黄金三镖客.The.Good.the.Bad.and.the.Ugly.1966.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 黄金三镖客.The.Good.the.Bad.and.the.Ugly.1966.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 010.搏击俱乐部.Fight.Club.1999.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 搏击俱乐部.Fight.Club.1999.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 011.指环王:护戒使者.TLOTR.The.Fellowship.of.the.Ring.2001.EE.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 指环王:护戒使者.TLOTR.The.Fellowship.of.the.Ring.2001.EE.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 012.阿甘正传.Forrest.Gump.1994.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 阿甘正传.Forrest.Gump.1994.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 013.盗梦空间.Inception.2010.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 盗梦空间.Inception.2010.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 014.星球大战V帝国反击战.Star.Wars.Episode.V.The.Empire.Strikes.Back.1980.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 星球大战V帝国反击战.Star.Wars.Episode.V.The.Empire.Strikes.Back.1980.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 015.指环王:双塔奇兵.TLOTR.The.Two.Towers.2002.EE.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 指环王:双塔奇兵.TLOTR.The.Two.Towers.2002.EE.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv "016.飞越疯人院.One.Flew.Over.the.Cuckoo's.Nest.1975.BluRay.1080p.x265.10bit.3Audio.MNHD-FRDS" "飞越疯人院.One.Flew.Over.the.Cuckoo's.Nest.1975.BluRay.1080p.x265.10bit.3Audio.MNHD-FRDS"
mv 017.盗亦有道.Goodfellas.1990.BluRay.1080p.x265.10bit.MNHD-FRDS 盗亦有道.Goodfellas.1990.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 018.黑客帝国.The.Matrix.1999.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 黑客帝国.The.Matrix.1999.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 019.七武士.Seven.Samurai.1954.BluRay.1080p.x265.10bit.MNHD-FRDS 七武士.Seven.Samurai.1954.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 020.复仇者联盟4:终局之战.Avengers.Endgame.2019.BluRay.1080p.x265.10bit.MNHD-FRDS 复仇者联盟4:终局之战.Avengers.Endgame.2019.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 021.七宗罪.Se7en.1995.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 七宗罪.Se7en.1995.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 022.上帝之城.City.of.God.2002.BluRay.1080p.x265.10bit.MNHD-FRDS 上帝之城.City.of.God.2002.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 023.星球大战IV新希望.Star.Wars.Episode.IV.A.New.Hope.1977.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 星球大战IV新希望.Star.Wars.Episode.IV.A.New.Hope.1977.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 024.沉默的羔羊.The.Silence.of.the.Lambs.1991.BluRay.1080p.x265.10bit.4Audio.MNHD-FRDS 沉默的羔羊.The.Silence.of.the.Lambs.1991.BluRay.1080p.x265.10bit.4Audio.MNHD-FRDS
mv "025.生活多美好.It's.a.Wonderful.Life.1946.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS" "生活多美好.It's.a.Wonderful.Life.1946.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS"
mv 026.美丽人生.Life.Is.Beautiful.1997.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 美丽人生.Life.Is.Beautiful.1997.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 027.千与千寻的神隐.Spirited.Away.2001.BluRay.1080p.x265.10bit.4Audio.MNHD-FRDS 千与千寻的神隐.Spirited.Away.2001.BluRay.1080p.x265.10bit.4Audio.MNHD-FRDS
mv 028.拯救大兵瑞恩.Saving.Private.Ryan.1998.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 拯救大兵瑞恩.Saving.Private.Ryan.1998.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 029.非常嫌疑犯.The.Usual.Suspects.1995.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 非常嫌疑犯.The.Usual.Suspects.1995.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 030.这个杀手不太冷.Leon.1994.Extended.Remastered.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 这个杀手不太冷.Leon.1994.Extended.Remastered.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 031.绿里奇迹.The.Green.Mile.1999.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 绿里奇迹.The.Green.Mile.1999.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 032.星际穿越.Interstellar.2014.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 星际穿越.Interstellar.2014.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 033.惊魂记.Psycho.1960.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 惊魂记.Psycho.1960.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 034.美国X档案.American.History.X.1998.BluRay.1080p.x265.10bit.MNHD-FRDS 美国X档案.American.History.X.1998.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 035.城市之光.City.Lights.1931.BluRay.1080p.x265.10bit.MNHD-FRDS 城市之光.City.Lights.1931.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 036.卡萨布兰卡.Casablanca.1942.BluRay.1080p.x265.10bit.5Audio.MNHD-FRDS 卡萨布兰卡.Casablanca.1942.BluRay.1080p.x265.10bit.5Audio.MNHD-FRDS
mv 037.西部往事.Once.Upon.a.Time.in.the.West.1968.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 西部往事.Once.Upon.a.Time.in.the.West.1968.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 038.钢琴家.The.Pianist.2002.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 钢琴家.The.Pianist.2002.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 039.摩登时代.Modern.Times.1936.BluRay.1080p.x265.10bit.MNHD-FRDS 摩登时代.Modern.Times.1936.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 040.触不可及.Intouchables.2011.BluRay.1080p.x265.10bit.MNHD-FRDS 触不可及.Intouchables.2011.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 041.无间行者.The.Departed.2006.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 无间行者.The.Departed.2006.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 042.回到未来.Back.to.the.Future.1985.BluRay.1080p.x265.10bit.3Audio.MNHD-FRDS 回到未来.Back.to.the.Future.1985.BluRay.1080p.x265.10bit.3Audio.MNHD-FRDS
mv 043.终结者2:审判日.Terminator.2.Judgment.Day.1991.BluRay.1080p.x265.10bit.8Audio.MnHD-FRDS 终结者2:审判日.Terminator.2.Judgment.Day.1991.BluRay.1080p.x265.10bit.8Audio.MnHD-FRDS
mv 044.狮子王.The.Lion.King.1994.BluRay.1080p.x265.10bit.3Audio.MNHD-FRDS 狮子王.The.Lion.King.1994.BluRay.1080p.x265.10bit.3Audio.MNHD-FRDS
mv 045.爆裂鼓手.Whiplash.2014.BluRay.1080p.x265.10bit.MNHD-FRDS 爆裂鼓手.Whiplash.2014.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 046.后窗.Rear.Window.1954.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 后窗.Rear.Window.1954.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 047.角斗士.Gladiator.2000.Extended.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 角斗士.Gladiator.2000.Extended.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 048.夺宝奇兵.Raiders.of.the.Lost.Ark.1981.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 夺宝奇兵.Raiders.of.the.Lost.Ark.1981.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 049.致命魔术.The.Prestige.2006.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 致命魔术.The.Prestige.2006.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv '050.现代启示录.ApocalypseNow.Redux.2001.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS' '现代启示录.ApocalypseNow.Redux.2001.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS'
mv 051.记忆碎片.Memento.2000.BluRay.1080p.x265.10bit.2Audio.MnHD-FRDS 记忆碎片.Memento.2000.BluRay.1080p.x265.10bit.2Audio.MnHD-FRDS
mv 052.异形.Alien.1979.Directors.Cut.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 异形.Alien.1979.Directors.Cut.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 053.萤火虫之墓.Grave.of.the.Fireflies.1988.BluRay.1080p.x265.10bit.4Audio.MNHD-FRDS 萤火虫之墓.Grave.of.the.Fireflies.1988.BluRay.1080p.x265.10bit.4Audio.MNHD-FRDS
mv 054.天堂电影院.Nuovo.Cinema.Paradiso.1988.DC.BluRay.1080p.x265.10bit.MNHD-FRDS 天堂电影院.Nuovo.Cinema.Paradiso.1988.DC.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 055.大独裁者.The.Great.Dictator.1940.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 大独裁者.The.Great.Dictator.1940.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 056.日落大道.Sunset.Boulevard.1950.BluRay.1080p.x265.10bit.MNHD-FRDS 日落大道.Sunset.Boulevard.1950.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 057.蜘蛛侠:平行宇宙.Spider.Man.Into.The.Spider.Verse.2018.BluRay.1080p.x265.10bit.3Audio.MNHD-FRDS 蜘蛛侠:平行宇宙.Spider.Man.Into.The.Spider.Verse.2018.BluRay.1080p.x265.10bit.3Audio.MNHD-FRDS
mv 058.窃听风暴.The.Lives.of.Others.2006.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 窃听风暴.The.Lives.of.Others.2006.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 059.奇爱博士.Dr.Strangelove.1964.BluRay.1080p.x265.10bit.MNHD-FRDS 奇爱博士.Dr.Strangelove.1964.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 060.复仇者联盟3:无限战争.Avengers.Infinity.War.2018.Bluray.1080p.x265.10bit.2audio.MNHD-FRDS 复仇者联盟3:无限战争.Avengers.Infinity.War.2018.Bluray.1080p.x265.10bit.2audio.MNHD-FRDS
mv 061.光荣之路.Paths.of.Glory.1957.BluRay.1080p.x265.10bit.MNHD-FRDS 光荣之路.Paths.of.Glory.1957.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 062.被解放的姜戈.Django.Unchained.2012.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 被解放的姜戈.Django.Unchained.2012.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 063.闪灵.The.Shining.1980.BluRay.1080p.x265.10bit.MNHD-FRDS 闪灵.The.Shining.1980.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 064.机器人总动员.Wall-E.2008.BluRay.1080p.x265.10bit.4Audio.MNHD-FRDS 机器人总动员.Wall-E.2008.BluRay.1080p.x265.10bit.4Audio.MNHD-FRDS
mv '065.幽灵公主.PrincessMononoke.1997.BluRay.1080p.x265.10bit.4Audio.MnHD-FRDS' '065.幽灵公主.PrincessMononoke.1997.BluRay.1080p.x265.10bit.4Audio.MnHD-FRDS'
mv 066.控方证人.Witness.for.the.Prosecution.1957.BluRay.1080p.x265.10bit.MNHD-FRDS 控方证人.Witness.for.the.Prosecution.1957.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 067.老男孩.Oldboy.2003.BluRay.1080p.x265.10bit.MNHD-FRDS 老男孩.Oldboy.2003.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 068.蝙蝠侠前传3黑暗骑士崛起.The.Dark.Knight.Rises.2012.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 蝙蝠侠前传3黑暗骑士崛起.The.Dark.Knight.Rises.2012.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 069.异形2.Aliens.1986.Special.Edition.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 异形2.Aliens.1986.Special.Edition.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 070.美国丽人.American.Beauty.1999.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 美国丽人.American.Beauty.1999.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 071.美国往事.Once.Upon.a.Time.in.America.1984.BluRay.1080p.x265.10bit.MNHD-FRDS 美国往事.Once.Upon.a.Time.in.America.1984.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 073.寻梦环游记.Coco.2017.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 寻梦环游记.Coco.2017.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 074.从海底出击.Das.Boot.1981.DC.BluRay.1080p.x265.10bit.MNHD-FRDS 从海底出击.Das.Boot.1981.DC.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 075.公民凯恩.Citizen.Kane.1941.BluRay.1080p.x265.10bit.MNHD-FRDS 公民凯恩.Citizen.Kane.1941.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 076.勇敢的心.Braveheart.1995.BluRay.1080p.x265.10bit.3Audio.MNHD-FRDS 勇敢的心.Braveheart.1995.BluRay.1080p.x265.10bit.3Audio.MNHD-FRDS
mv 077.迷魂记.Vertigo.1958.BluRay.1080p.x265.10bit.MNHD-FRDS 迷魂记.Vertigo.1958.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 078.你的名字.Your.Name.2016.BluRay.1080p.x265.10bit.MNHD-FRDS 你的名字.Your.Name.2016.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 079.西北偏北.North.by.Northwest.1959.BluRay.1080p.x265.10bit.3Audio.MNHD-FRDS 西北偏北.North.by.Northwest.1959.BluRay.1080p.x265.10bit.3Audio.MNHD-FRDS
mv 080.落水狗.Reservoir.Dogs.1992.BluRay.1080p.x265.10bit.MNHD-FRDS 落水狗.Reservoir.Dogs.1992.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 081.星球大战VI绝地大反攻.Star.Wars.Episode.VI.Return.of.the.Jedi.1983.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 星球大战VI绝地大反攻.Star.Wars.Episode.VI.Return.of.the.Jedi.1983.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 082.莫扎特传.Amadeus.DC.1984.BluRay.1080p.x265.10bit.3Audio.MNHD-FRDS 莫扎特传.Amadeus.DC.1984.BluRay.1080p.x265.10bit.3Audio.MNHD-FRDS
mv 083.M就是凶手.M.1931.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS M就是凶手.M.1931.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 084.梦之安魂曲.Requiem.for.a.Dream.2000.BluRay.1080p.x265.10bit.MNHD-FRDS 梦之安魂曲.Requiem.for.a.Dream.2000.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 085.玩具总动员.Toy.Story.1995.BluRay.1080p.x265.10bit.3Audio.MNHD-FRDS 玩具总动员.Toy.Story.1995.BluRay.1080p.x265.10bit.3Audio.MNHD-FRDS
mv 086.三傻大闹宝莱坞.3.Idiots.2009.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 三傻大闹宝莱坞.3.Idiots.2009.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 087.摔跤吧爸爸.Dangal.2017.BluRay.1080p.x265.10bit.MNHD-FRDS 摔跤吧爸爸.Dangal.2017.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 088.2001太空漫游.2001.A.Space.Odyssey.1968.BluRay.1080p.x265.10bit.MNHD-FRDS 2001太空漫游.2001.A.Space.Odyssey.1968.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 089.暖暖内含光.Eternal.Sunshine.of.the.Spotless.Mind.2004.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 暖暖内含光.Eternal.Sunshine.of.the.Spotless.Mind.2004.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 090.地球上的星星.Taare.Zameen.Par.2007.BluRay.1080p.x265.10bit.MNHD-FRDS 地球上的星星.Taare.Zameen.Par.2007.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 091.阿拉伯的劳伦斯.Lawrence.of.Arabia.1962.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 阿拉伯的劳伦斯.Lawrence.of.Arabia.1962.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 092.发条橙子.A.Clockwork.Orange.1971.BluRay.1080p.x265.10bit.MNHD-FRDS 发条橙子.A.Clockwork.Orange.1971.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 093.无耻混蛋.Inglourious.Basterds.2009.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 无耻混蛋.Inglourious.Basterds.2009.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 094.雨中曲.Singin.in.the.Rain.1952.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 雨中曲.Singin.in.the.Rain.1952.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 095.双重赔偿.Double.Indemnity.1944.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 双重赔偿.Double.Indemnity.1944.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 096.天使爱美丽.Amelie.2001.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 天使爱美丽.Amelie.2001.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 097.出租车司机.Taxi.Driver.1976.BluRay.1080p.x265.10bit.MNHD-FRDS 出租车司机.Taxi.Driver.1976.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 098.全金属外壳.Full.Metal.Jacket.1987.BluRay.1080p.x265.10bit.MNHD-FRDS 全金属外壳.Full.Metal.Jacket.1987.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 099.心灵捕手.Good.Will.Hunting.1997.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 心灵捕手.Good.Will.Hunting.1997.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 100.偷自行车的人.Bicycle.Thieves.1948.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 偷自行车的人.Bicycle.Thieves.1948.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 101.杀死一只知更鸟.To.Kill.a.Mockingbird.1962.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 杀死一只知更鸟.To.Kill.a.Mockingbird.1962.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 102.寻子遇仙记.The.Kid.1921.BluRay.1080p.x265.10bit.MNHD-FRDS 寻子遇仙记.The.Kid.1921.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 103.骗中骗.The.Sting.1973.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 骗中骗.The.Sting.1973.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 104.玩具总动员3.Toy.Story.3.2010.BluRay.1080p.x265.10bit.4Audio.MNHD-FRDS 玩具总动员3.Toy.Story.3.2010.BluRay.1080p.x265.10bit.4Audio.MNHD-FRDS
mv 105.狩猎.Jagten.2012.BluRay.1080p.x265.10bit.MNHD-FRDS 狩猎.Jagten.2012.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 106.偷拐抢骗.Snatch.2000.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 偷拐抢骗.Snatch.2000.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 107.疤面煞星.Scarface.1983.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 疤面煞星.Scarface.1983.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 108.桃色公寓.The.Apartment.1960.Remastered.BluRay.1080p.x265.10bit.3Audio.MNHD-FRDS 桃色公寓.The.Apartment.1960.Remastered.BluRay.1080p.x265.10bit.3Audio.MNHD-FRDS
mv 109.黄昏双镖客.For.a.Few.Dollars.More.1965.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 黄昏双镖客.For.a.Few.Dollars.More.1965.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 110.大都会.Metropolis.1927.BluRay.1080p.x265.10bit.MNHD-FRDS 大都会.Metropolis.1927.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 111.巨蟒与圣杯.Monty.Python.And.The.Holy.Grail.1975.BluRay.1080p.x265.10bit.MNHD-FRDS 巨蟒与圣杯.Monty.Python.And.The.Holy.Grail.1975.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 112.洛城机密.L.A.Confidential.1997.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 洛城机密.L.A.Confidential.1997.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 113.纳德和西敏:一次别离.A.Separation.2011.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 纳德和西敏:一次别离.A.Separation.2011.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 114.夺宝奇兵3.Indiana.Jones.and.the.Last.Crusade.1989.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 夺宝奇兵3.Indiana.Jones.and.the.Last.Crusade.1989.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 115.飞屋环游记.Up.2009.BluRay.1080p.x265.10bit.4Audio.MNHD-FRDS 飞屋环游记.Up.2009.BluRay.1080p.x265.10bit.4Audio.MNHD-FRDS
mv 116.罗生门.Rashomon.1950.BluRay.1080p.x265.10bit.MNHD-FRDS 罗生门.Rashomon.1950.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 117.彗星美人.All.About.Eve.1950.BluRay.1080p.x265.10bit.MNHD-FRDS 彗星美人.All.About.Eve.1950.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 118.蝙蝠侠前传开战时刻.Batman.Begins.2005.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 蝙蝠侠前传开战时刻.Batman.Begins.2005.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 119.热情如火.Some.Like.It.Hot.1959.CC.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 热情如火.Some.Like.It.Hot.1959.CC.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 120.用心棒.Yojimbo.1961.BluRay.1080p.x265.10bit.MNHD-FRDS 用心棒.Yojimbo.1961.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 121.帝国的毁灭.Der.Untergang.2004.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 帝国的毁灭.Der.Untergang.2004.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 122.虎胆龙威.Die.Hard.1988.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 虎胆龙威.Die.Hard.1988.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 123.不可饶恕.Unforgiven.1992.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 不可饶恕.Unforgiven.1992.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 124.盗火线.Heat.1995.BluRay.1080p.x265.10bit.3Audio.MNHD-FRDS 盗火线.Heat.1995.BluRay.1080p.x265.10bit.3Audio.MNHD-FRDS
mv 125.焦土之城.Incendies.2010.BluRay.1080p.x265.10bit.MNHD-FRDS 焦土之城.Incendies.2010.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 126.碧血金沙.The.Treasure.of.the.Sierra.Madre.1948.BluRay.1080p.x265.10bit.MNHD-FRDS 碧血金沙.The.Treasure.of.the.Sierra.Madre.1948.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 127.生之欲.Ikiru.1952.BluRay.1080p.x265.10bit.MNHD-FRDS 生之欲.Ikiru.1952.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 128.绿皮书.Green.Book.2018.BluRay.1080p.x265.10bit.MNHD-FRDS 绿皮书.Green.Book.2018.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 129.愤怒的公牛.Raging.Bull.1980.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 愤怒的公牛.Raging.Bull.1980.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 130.大逃亡.The.Great.Escape.1963.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 大逃亡.The.Great.Escape.1963.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 131.小鞋子.Children.of.Heaven.1997.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 小鞋子.Children.of.Heaven.1997.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv "132.潘神的迷宫.Pan's.Labyrinth.2006.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS" "潘神的迷宫.Pan's.Labyrinth.2006.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS"
mv 133.唐人街.Chinatown.1974.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 唐人街.Chinatown.1974.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 134.龙猫.My.Neighbor.Totoro.1988.BluRay.1080p.x265.10bit.4Audio.MNHD-FRDS 龙猫.My.Neighbor.Totoro.1988.BluRay.1080p.x265.10bit.4Audio.MNHD-FRDS
mv "135.哈尔的移动城堡.Howl's.Moving.Castle.2004.BluRay.1080p.x265.10bit.4Audio.MNHD-FRDS" "哈尔的移动城堡.Howl's.Moving.Castle.2004.BluRay.1080p.x265.10bit.4Audio.MNHD-FRDS"
mv 136.乱.Ran.1985.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 乱.Ran.1985.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 137.第三人.The.Third.Man.1949.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 第三人.The.Third.Man.1949.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 138.纽伦堡大审判.Judgment.at.Nuremberg.1961.BluRay.1080p.x265.10bit.MNHD-FRDS 纽伦堡大审判.Judgment.at.Nuremberg.1961.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 140.谜一样的双眼.The.Secret.in.Their.Eyes.2009.BluRay.1080p.x265.10bit.MNHD-FRDS 谜一样的双眼.The.Secret.in.Their.Eyes.2009.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 141.淘金记.The.Gold.Rush.1925.BluRay.1080p.x265.10bit.MNHD-FRDS 淘金记.The.Gold.Rush.1925.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 142.美丽心灵.A.Beautiful.Mind.2001.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 美丽心灵.A.Beautiful.Mind.2001.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 143.桂河大桥.The.Bridge.on.the.River.Kwai.1957.BluRay.1080p.x265.10bit.3Audio.MNHD-FRDS 桂河大桥.The.Bridge.on.the.River.Kwai.1957.BluRay.1080p.x265.10bit.3Audio.MNHD-FRDS
mv 144.赌城风云.Casino.1995.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 赌城风云.Casino.1995.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 145.两杆大烟枪.Lock.Stock.and.Two.Smoking.Barrels.1998.BluRay.1080p.x265.10bit.MNHD-FRDS 两杆大烟枪.Lock.Stock.and.Two.Smoking.Barrels.1998.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 146.三块广告牌.Three.Billboards.Outside.Ebbing.Missouri.2017.BluRay.1080p.x265.10bit.MNHD-FRDS 三块广告牌.Three.Billboards.Outside.Ebbing.Missouri.2017.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 147.第七封印.The.Seventh.Seal.1957.BluRay.1080p.x265.10bit.MNHD-FRDS 第七封印.The.Seventh.Seal.1957.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 148.华尔街之狼.The.Wolf.of.Wall.Street.2013.BluRay.1080p.x265.10bit.MNHD-FRDS 华尔街之狼.The.Wolf.of.Wall.Street.2013.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 149.码头风云.On.the.Waterfront.1954.BluRay.1080p.x265.10bit.MNHD-FRDS 码头风云.On.the.Waterfront.1954.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 150.象人.The.Elephant.Man.1980.BluRay.1080p.x265.10bit.MNHD-FRDS 象人.The.Elephant.Man.1980.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 151.头脑特工队.Inside.Out.2015.BluRay.1080p.x265.10bit.3Audio.MNHD-FRDS 头脑特工队.Inside.Out.2015.BluRay.1080p.x265.10bit.3Audio.MNHD-FRDS
mv 152.V字仇杀队.V.For.Vendetta.2005.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS V字仇杀队.V.For.Vendetta.2005.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 153.血色将至.There.Will.Be.Blood.2007.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 血色将至.There.Will.Be.Blood.2007.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 154.史密斯先生到华盛顿.Mr.Smith.Goes.to.Washington.1939.BluRay.1080p.x265.10bit.MNHD-FRDS 史密斯先生到华盛顿.Mr.Smith.Goes.to.Washington.1939.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 155.老无所依.No.Country.for.Old.Men.2007.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 老无所依.No.Country.for.Old.Men.2007.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 156.银翼杀手.Blade.Runner.The.Final.Cut.1982.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 银翼杀手.Blade.Runner.The.Final.Cut.1982.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 157.勇士.Warrior.2011.BluRay.1080p.x265.10bit.MNHD-FRDS 勇士.Warrior.2011.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 158.电话谋杀案.Dial.M.for.Murder.1954.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 电话谋杀案.Dial.M.for.Murder.1954.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 159.房间.Room.2015.BluRay.1080p.x265.10bit.MNHD-FRDS 房间.Room.2015.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 160.灵异第六感.The.Sixth.Sense.1999.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 灵异第六感.The.Sixth.Sense.1999.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 161.野草莓.Wild.Strawberries.1957.BluRay.1080p.x265.10bit.MNHD-FRDS 野草莓.Wild.Strawberries.1957.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 162.猜火车.Trainspotting.1996.BluRay.1080p.x265.10bit.MNHD-FRDS 猜火车.Trainspotting.1996.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 163.将军号.The.General.1926.BluRay.1080p.x265.10bit.MNHD-FRDS 将军号.The.General.1926.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 164.乱世佳人.Gone.with.the.Wind.1939.BluRay.1080p.x265.10bit.9Audio.MnHD-FRDS 乱世佳人.Gone.with.the.Wind.1939.BluRay.1080p.x265.10bit.9Audio.MnHD-FRDS
mv 166.怪形.The.Thing.1982.BluRay.1080p.x265.10bit.MNHD-FRDS 怪形.The.Thing.1982.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 167.冰血暴.Fargo.1996.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 冰血暴.Fargo.1996.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 168.自己去看.Idi.i.smotri.AKA.Come.And.See.1985.BluRay.1080p.x265.10bit.MNHD-FRDS 自己去看.Idi.i.smotri.AKA.Come.And.See.1985.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 169.海底总动员.Finding.Nemo.2003.BluRay.1080p.x265.10bit.4Audio.MNHD-FRDS 海底总动员.Finding.Nemo.2003.BluRay.1080p.x265.10bit.4Audio.MNHD-FRDS
mv 170.调琴师.Andhadhun.2018.BluRay.1080p.x265.10bit.MNHD-FRDS 调琴师.Andhadhun.2018.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 171.老爷车.Gran.Torino.2008.BluRay.1080p.x265.10bit.MNHD-FRDS 老爷车.Gran.Torino.2008.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 172.猎鹿人.The.Deer.Hunter.1978.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 猎鹿人.The.Deer.Hunter.1978.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 173.禁闭岛.Shutter.Island.2010.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 禁闭岛.Shutter.Island.2010.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 174.谋杀绿脚趾.The.Big.Loboski.1998.BluRay.1080p.x265.10bit.MNHD-FRDS 谋杀绿脚趾.The.Big.Loboski.1998.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 175.杀死比尔1.Kill.Bill.Vol.1.2003.BluRay.1080p.x265.10bit.MNHD-FRDS 杀死比尔1.Kill.Bill.Vol.1.2003.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 176.福尔摩斯二世.Sherlock.Jr.1924.BluRay.1080p.x265.10bit.FLAC.MNHD-FRDS 福尔摩斯二世.Sherlock.Jr.1924.BluRay.1080p.x265.10bit.FLAC.MNHD-FRDS
mv 177.铁窗喋血.Cool.Hand.Luke.1967.BluRay.1080p.x265.10bit.MNHD-FRDS 铁窗喋血.Cool.Hand.Luke.1967.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 178.玛丽和马克思.Mary.and.Max.2009.BluRay.1080p.x265.10bit.MNHD-FRDS 玛丽和马克思.Mary.and.Max.2009.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 179.东京物语.Tokyo.Story.1953.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 东京物语.Tokyo.Story.1953.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 180.侏罗纪公园.Jurassic.Park.1993.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 侏罗纪公园.Jurassic.Park.1993.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 181.血战钢锯岭.Hacksaw.Ridge.2016.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 血战钢锯岭.Hacksaw.Ridge.2016.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 182.蝴蝶梦.Rebecca.1940.BluRay.1080p.x265.10bit.3Audio.MNHD-FRDS 蝴蝶梦.Rebecca.1940.BluRay.1080p.x265.10bit.3Audio.MNHD-FRDS
mv 183.驯龙高手.How.to.Train.Your.Dragon.2010.BluRay.1080p.x265.10bit.4Audio.MNHD-FRDS 驯龙高手.How.to.Train.Your.Dragon.2010.BluRay.1080p.x265.10bit.4Audio.MNHD-FRDS
mv 184.荒蛮故事.Relatos.Salvajes.2014.BluRay.1080p.x265.10bit.MNHD-FRDS 荒蛮故事.Relatos.Salvajes.2014.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 185.消失的爱人.Gone.Girl.2014.BluRay.1080p.x265.10bit.MNHD-FRDS 消失的爱人.Gone.Girl.2014.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 186.楚门的世界.The.Trueman.Show.1998.BluRay.1080p.x265.10bit.3Audio.MnHD-FRDS 楚门的世界.The.Trueman.Show.1998.BluRay.1080p.x265.10bit.3Audio.MnHD-FRDS
mv 187.潜行者.Stalker.1979.BluRay.1080p.x265.10bit.MNHD-FRDS 潜行者.Stalker.1979.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 188.布达佩斯大饭店.The.Grand.Budapest.Hotel.2014.BluRay.1080p.x265.10bit.2Audio.MnHD-FRDS 布达佩斯大饭店.The.Grand.Budapest.Hotel.2014.BluRay.1080p.x265.10bit.2Audio.MnHD-FRDS
mv 189.因父之名.In.the.Name.of.the.Father.1993.BluRay.1080p.x265.10bit.MNHD-FRDS 因父之名.In.the.Name.of.the.Father.1993.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 190.伴我同行.Stand.By.Me.1986.BluRay.1080p.x265.10bit.MNHD-FRDS 伴我同行.Stand.By.Me.1986.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 191.杀人回忆.Memories.of.Murder.2003.BluRay.1080p.x265.10bit.MNHD-FRDS 杀人回忆.Memories.of.Murder.2003.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 192.日出:两个人的爱情之歌.Sunrise.A.Song.of.Two.Humans.1927.BluRay.1080p.x265.10bit.MNHD-FRDS 日出:两个人的爱情之歌.Sunrise.A.Song.of.Two.Humans.1927.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 193.一夜风流.It.Happened.One.Night.1934.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 一夜风流.It.Happened.One.Night.1934.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 194.野战排.Platoon.1986.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 野战排.Platoon.1986.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 195.荒野生存.Into.the.Wild.2007.BluRay.1080p.x265.10bit.MNHD-FRDS 荒野生存.Into.the.Wild.2007.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 196.假面.Persona.1966.BluRay.1080p.x265.10bit.MNHD-FRDS 假面.Persona.1966.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 197.电视台风云.Network.1976.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 电视台风云.Network.1976.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 198.宾虚.Ben-Hur.1959.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 宾虚.Ben-Hur.1959.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 199.万世魔星.Monty.Python.Life.of.Brian.1979.BluRay.1080p.x265.10bit.MNHD-FRDS 万世魔星.Monty.Python.Life.of.Brian.1979.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 200.为奴十二年.12.Years.a.Slave.2013.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 为奴十二年.12.Years.a.Slave.2013.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 201.百万美元宝贝.Million.Dollar.Baby.2004.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 百万美元宝贝.Million.Dollar.Baby.2004.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 202.爱在黎明破晓前.Before.Sunrise.1995.BluRay.1080p.x265.10bit.MNHD-FRDS 爱在黎明破晓前.Before.Sunrise.1995.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 203.卢旺达饭店.Hotel.Rwanda.2004.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 卢旺达饭店.Hotel.Rwanda.2004.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 204.囚徒.Prisoners.2013.BluRay.1080p.x265.10bit.MNHD-FRDS 囚徒.Prisoners.2013.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 205.疯狂的麦克斯4狂暴之路.Mad.Max.Fury.Road.2015.BluRay.1080p.x265.10bit.MNHD-FRDS 疯狂的麦克斯4狂暴之路.Mad.Max.Fury.Road.2015.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 206.金刚狼3殊死一战.Logan.2017.BluRay.1080p.x265.10bit.MNHD-FRDS 金刚狼3殊死一战.Logan.2017.BluRay.1080p.x265.10bit.MNHD-FRDS
mv "207.忠犬八公的故事.Hachi.A.Dog'sTale.2009.BluRay.1080p.x265.10bit.MNHD-FRDS" "忠犬八公的故事.Hachi.A.Dog'sTale.2009.BluRay.1080p.x265.10bit.MNHD-FRDS"
mv 208.极速风流.Rush.2013.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 极速风流.Rush.2013.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 210.猫鼠游戏.Catch.Me.If.You.Can.2002.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 猫鼠游戏.Catch.Me.If.You.Can.2002.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 211.恐惧的代价.The.Wages.of.Fear.1953.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 恐惧的代价.The.Wages.of.Fear.1953.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 212.四百击.The.400.Blows.1959.BluRay.1080p.x265.10bit.MNHD-FRDS 四百击.The.400.Blows.1959.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 213.聚焦.Spotlight.2015.BluRay.1080p.x265.10bit.MNHD-FRDS 聚焦.Spotlight.2015.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 214.爱情是狗娘.Amores.perros.2000.BluRay.1080p.x265.10bit.MNHD-FRDS 爱情是狗娘.Amores.perros.2000.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 215.哈利波特与死圣下.Harry.Potter.and.the.Deathly.Hallows.Part.2.2011.BluRay.1080p.x265.2Audio.MNHD-FRDS 哈利波特与死圣下.Harry.Potter.and.the.Deathly.Hallows.Part.2.2011.BluRay.1080p.x265.2Audio.MNHD-FRDS
mv 216.安德烈卢布廖夫.Andrei.Rublev.1966.BluRay.1080p.x265.10bit.MNHD-FRDS 安德烈卢布廖夫.Andrei.Rublev.1966.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 217.风之谷.Nausicaa.Of.The.Valley.Of.The.Wind.1984.BluRay.1080p.x265.10bit.4Audio.MNHD-FRDS 风之谷.Nausicaa.Of.The.Valley.Of.The.Wind.1984.BluRay.1080p.x265.10bit.4Audio.MNHD-FRDS
mv 218.圣女贞德受难记.The.Passion.of.Joan.of.Arc.1928.BluRay.1080p.x265.10bit.MNHD-FRDS 圣女贞德受难记.The.Passion.of.Joan.of.Arc.1928.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 219.公主新娘.The.Princess.Bride.1987.BluRay.1080p.x265.10bit.MNHD-FRDS 公主新娘.The.Princess.Bride.1987.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 220.乱世儿女.Barry.Lyndon.1975.BluRay.1080p.x265.10bit.MNHD-FRDS 乱世儿女.Barry.Lyndon.1975.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 221.洛奇.Rocky.1976.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 洛奇.Rocky.1976.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 222.虎豹小霸王.Butch.Cassidy.and.the.Sundance.Kid.1969.BluRay.1080p.x265.10bit.MNHD-FRDS 虎豹小霸王.Butch.Cassidy.and.the.Sundance.Kid.1969.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 224.怪物公司.Monsters.Inc.2001.BluRay.1080p.x265.10bit.3Audio.MNHD-FRDS 怪物公司.Monsters.Inc.2001.BluRay.1080p.x265.10bit.3Audio.MNHD-FRDS
mv 225.芭萨提的颜色.Rang.De.Basanti.2006.BluRay.1080p.x265.10bit.MNHD-FRDS 芭萨提的颜色.Rang.De.Basanti.2006.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 226.死亡诗社.Dead.Poets.Society.1989.BluRay.1080p.x265.10bit.3Audio.MNHD-FRDS 死亡诗社.Dead.Poets.Society.1989.BluRay.1080p.x265.10bit.3Audio.MNHD-FRDS
mv 227.愤怒的葡萄.The.Grapes.of.Wrath.1940.BluRay.1080p.x265.10bit.MNHD-FRDS 愤怒的葡萄.The.Grapes.of.Wrath.1940.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 228.终结者.The.Terminator.1984.BluRay.1080p.x265.10bit.7Audio.MnHD-FRDS 终结者.The.Terminator.1984.BluRay.1080p.x265.10bit.7Audio.MnHD-FRDS
mv 229.小姐.The.Handmaiden.2016.BluRay.1080p.x265.10bit.MNHD-FRDS 小姐.The.Handmaiden.2016.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 230.马耳他之鹰.The.Maltese.Falcon.1941.BluRay.1080p.x265.10bit.MNHD-FRDS 马耳他之鹰.The.Maltese.Falcon.1941.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 231.怒火青春.La.haine.1995.BluRay.1080p.x265.10bit.MNHD-FRDS 怒火青春.La.haine.1995.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 232.花样年华.In.the.Mood.for.Love.2000.CC.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 花样年华.In.the.Mood.for.Love.2000.CC.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 233.甘地传.Gandhi.1982.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 甘地传.Gandhi.1982.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 234.死亡幻觉.Donnie.Darko.DC.2001.BluRay.1080p.x265.10bit.MNHD-FRDS 死亡幻觉.Donnie.Darko.DC.2001.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 235.相助.The.Help.2011.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 相助.The.Help.2011.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 236.偷天情缘.Groundhog.Day.1993.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 偷天情缘.Groundhog.Day.1993.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 237.绿野仙踪.The.Wizard.of.Oz.1939.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 绿野仙踪.The.Wizard.of.Oz.1939.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 238.银河护卫队.Guardians.of.the.Galaxy.2014.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 银河护卫队.Guardians.of.the.Galaxy.2014.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 239.恶魔.Les.Diaboliques.1955.BluRay.1080p.x265.10bit.MNHD-FRDS 恶魔.Les.Diaboliques.1955.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 240.大白鲨.Jaws.1975.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 大白鲨.Jaws.1975.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 241.爱在日落黄昏时.Before.Sunset.2004.BluRay.1080p.x265.10bit.MNHD-FRDS 爱在日落黄昏时.Before.Sunset.2004.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 242.天空之城.Laputa.Castle.In.The.Sky.1986.BluRay.1080p.x265.10bit.4Audio.MNHD-FRDS 天空之城.Laputa.Castle.In.The.Sky.1986.BluRay.1080p.x265.10bit.4Audio.MNHD-FRDS
mv 243.加勒比海盗:黑珍珠号的诅咒.Pirates.of.the.Caribbean.The.Curse.of.the.Black.Pearl.2003.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS 加勒比海盗:黑珍珠号的诅咒.Pirates.of.the.Caribbean.The.Curse.of.the.Black.Pearl.2003.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS
mv 244.德州巴黎.Paris.Texas.1984.CC.BluRay.1080p.x265.10bit.MNHD-FRDS 德州巴黎.Paris.Texas.1984.CC.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 245.美女与野兽.Beauty.and.the.Beast.1991.BluRay.1080p.x265.10bit.4Audios.MNHD-FRDS 美女与野兽.Beauty.and.the.Beast.1991.BluRay.1080p.x265.10bit.4Audios.MNHD-FRDS
mv 246.大红灯笼高高挂.Raise.the.Red.Lantern.1991.BluRay.1080p.x265.10bit.MNHD-FRDS 大红灯笼高高挂.Raise.the.Red.Lantern.1991.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 247.驱魔人.The.Exorcist.1973.DC.BluRay.1080p.x265.10bit.MNHD-FRDS 驱魔人.The.Exorcist.1973.DC.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 248.光明战士阿基拉.Akira.1988.BluRay.1080p.x265.10bit.MNHD-FRDS 光明战士阿基拉.Akira.1988.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 249.误杀瞒天记.Drishyam.2015.BluRay.1080p.x265.10bit.MNHD-FRDS 误杀瞒天记.Drishyam.2015.BluRay.1080p.x265.10bit.MNHD-FRDS
mv 250.热天午后.Dog.Day.Afternoon.1975.BluRay.1080p.x265.10bit.3Audio.MNHD-FRDS 热天午后.Dog.Day.Afternoon.1975.BluRay.1080p.x265.10bit.3Audio.MNHD-FRDS

四、 其他

我按照上面的方法完成以后,大概辅种情况是这样

image-20240329141625434

<1234…6>

54 posts
© 2025 Hoey