ALTER JOB
Описание
Изменяет свойства выполнения, исполняемый SQL или конфигурацию Auto Table Creation Sync задания Streaming Job. Изменять можно только задания Streaming Job в состоянии PAUSED, при этом каждый оператор должен вносить хотя бы одно фактическое изменение.
Синтаксис
ALTER JOB <job_name>
[
PROPERTIES (<job_property>[, ...])
]
[
<Insert_Command>
| FROM <source_type> (<source_property>[, ...])
TO DATABASE <target_db> (<target_property>[, ...])
]
Обязательные параметры
1. <job_name>
Имя изменяемого задания.
Необязательные параметры
1. <job_property>
Изменяет свойства задания, такие как
max_interval,compute_groupилиsession.*, либо сбрасывает позицию CDC с помощью значенияoffsetв формате JSON.
2. <Insert_Command>
Изменяет SQL-оператор INSERT, выполняемый заданием в режиме TVF. Не используйте ключевое слово
DOвALTER JOB.
3. <source_property> и <target_property>
Изменяют свойства источника или целевой стороны Auto Table Creation Sync. Тип источника данных и целевую базу данных изменить нельзя.
Auto Table Creation Sync не позволяет изменять jdbc_url, database, schema, include_tables, exclude_tables, свойство offset на стороне источника, snapshot_split_size, snapshot_parallelism, параметры сопоставления отдельных таблиц, slot_name или publication_name. Для сброса позиции CDC используйте свойство задания offset.
Режим CDC Stream TVF не позволяет изменять целевую таблицу, тип TVF, type, jdbc_url, database, schema, table, snapshot_split_size, snapshot_parallelism, slot_name или publication_name. Вы можете изменить SQL-оператор INSERT, чтобы обновить учётные данные, драйверы или другие параметры, допускающие изменение.
Требования к правам доступа
Пользователь, выполняющий эту SQL-команду, должен иметь как минимум следующие права:
| Право | Объект | Тип задания | Примечания |
|---|---|---|---|
| LOAD_PRIV | База данных (DB) | Streaming | Позволяет выполнить эту операцию при наличии прав LOAD |
Примеры
-
Изменение переменной сеанса задания my_job
ALTER JOB my_job
PROPERTIES(
"session.insert_max_filter_ratio"="0.5"
); -
Изменение SQL-оператора задания my_job
ALTER JOB my_job
INSERT INTO db1.tbl1
SELECT * FROM S3
(
"uri" = "s3://bucket/*.csv",
"s3.access_key" = "<s3_access_key>",
"s3.secret_key" = "<s3_secret_key>",
"s3.region" = "<s3_region>",
"s3.endpoint" = "<s3_endpoint>",
"format" = "<format>"
); -
Одновременное изменение свойств и SQL-оператора задания my_job.
ALTER JOB my_job
PROPERTIES(
"session.insert_max_filter_ratio"="0.5"
)
INSERT INTO db1.tbl1
select * from S3(
"uri" = "s3://bucket/*.csv",
"s3.access_key" = "<s3_access_key>",
"s3.secret_key" = "<s3_secret_key>",
"s3.region" = "<s3_region>",
"s3.endpoint" = "<s3_endpoint>",
"format" = "<format>"
); -
Изменение позиции синхронизации задания S3 my_job
ALTER JOB my_job
PROPERTIES(
'offset' = '{"fileName":"regression/load/data/example_0.csv"}'
);
- Сброс позиции задания MySQL CDC до точно заданного смещения Binlog
ALTER JOB mysql_cdc_job
PROPERTIES (
"offset" = '{"file":"binlog.000001","pos":"154"}'
);
- Сброс позиции задания PostgreSQL CDC до точно заданного LSN
ALTER JOB pg_cdc_job
PROPERTIES (
"offset" = '{"lsn":"12345678"}'
);
Позицию CDC можно изменить только тогда, когда задание находится в состоянии PAUSED. Свойство offset принимает только точно заданное смещение в формате JSON, как показано выше; значения initial, snapshot, earliest и latest не допускаются.