Отладка потоков

This commit is contained in:
2026-01-18 13:47:09 +03:00
parent 9c033b39aa
commit 4718b3bdb7
7 changed files with 45 additions and 39 deletions
+4 -3
View File
@@ -6,12 +6,13 @@
CREATE SCHEMA IF NOT EXISTS stg;
-- Внешняя таблица в схеме stg для чтения данных из bookings.airplanes_data через PXF.
-- PXF не поддерживает тип JSONB - используем TEXT для всех колонок.
DROP EXTERNAL TABLE IF EXISTS stg.airplanes_ext;
CREATE EXTERNAL TABLE stg.airplanes_ext (
airplane_code TEXT,
model JSONB,
range INTEGER,
speed INTEGER
model TEXT,
range TEXT,
speed TEXT
)
LOCATION ('pxf://bookings.airplanes_data?PROFILE=JDBC&SERVER=bookings-db')
FORMAT 'CUSTOM' (formatter='pxfwritable_import');
+5 -4
View File
@@ -6,13 +6,14 @@
CREATE SCHEMA IF NOT EXISTS stg;
-- Внешняя таблица в схеме stg для чтения данных из bookings.airports_data через PXF.
-- PXF не поддерживает типы JSONB, POINT - используем TEXT для всех колонок.
DROP EXTERNAL TABLE IF EXISTS stg.airports_ext;
CREATE EXTERNAL TABLE stg.airports_ext (
airport_code TEXT,
airport_name JSONB,
city JSONB,
country JSONB,
coordinates POINT,
airport_name TEXT,
city TEXT,
country TEXT,
coordinates TEXT,
timezone TEXT
)
LOCATION ('pxf://bookings.airports_data?PROFILE=JDBC&SERVER=bookings-db')
+8 -2
View File
@@ -16,8 +16,10 @@ BEGIN
FROM stg.boarding_passes_ext;
IF v_src_count = 0 THEN
RAISE EXCEPTION
'В источнике boarding_passes_ext нет строк.';
RAISE NOTICE
'В источнике boarding_passes_ext нет строк - пропускаем DQ проверки (batch_id=%).',
v_batch_id;
RETURN;
END IF;
-- Считаем строки, реально вставленные в stg.boarding_passes в этом батче
@@ -96,4 +98,8 @@ BEGIN
v_batch_id,
v_src_count,
v_stg_count;
EXCEPTION WHEN OTHERS THEN
RAISE NOTICE 'DQ ERROR для boarding_passes (batch_id=%): %', v_batch_id, SQLERRM;
RAISE;
END $$;
+5 -4
View File
@@ -6,16 +6,17 @@
CREATE SCHEMA IF NOT EXISTS stg;
-- Внешняя таблица в схеме stg для чтения данных из bookings.routes через PXF.
-- PXF не поддерживает типы TSTZRANGE, INTEGER[], TIME, INTERVAL - используем TEXT для всех колонок.
DROP EXTERNAL TABLE IF EXISTS stg.routes_ext;
CREATE EXTERNAL TABLE stg.routes_ext (
route_no TEXT,
validity TSTZRANGE,
validity TEXT,
departure_airport TEXT,
arrival_airport TEXT,
airplane_code TEXT,
days_of_week INTEGER[],
scheduled_time TIME WITHOUT TIME ZONE,
duration INTERVAL
days_of_week TEXT,
scheduled_time TEXT,
duration TEXT
)
LOCATION ('pxf://bookings.routes?PROFILE=JDBC&SERVER=bookings-db')
FORMAT 'CUSTOM' (formatter='pxfwritable_import');