Выполнение скрипта
С помощью подкоманды scripting yql
вы можете выполнить YQL-скрипт. Скрипт может содержать запросы разных типов. В отличие от yql
, подкоманда scripting yql
имеет ограничение на количество возвращаемых строк и объем затрагиваемых данных.
Общий вид команды:
ydb [global options...] scripting yql [options...]
global options
— глобальные параметры.options
— параметры подкоманды.
Посмотрите описание команды выполнения YQL-скрипта:
ydb scripting yql --help
Параметры подкоманды
Имя | Описание |
---|---|
--timeout |
Время, в течение которого должна быть выполнена операция на сервере. |
--stats |
Режим сбора статистики. Возможные значения:
none . |
-s , --script |
Текст YQL-скрипта для выполнения. |
-f , --file |
Путь к файлу с текстом YQL-скрипта для выполнения. |
--explain |
Показать план выполнения запроса. |
--show-response-metadata |
Показать метаданные ответа. |
-p , --param |
Параметры запроса (для запросов над данными и скан-запросах). Может быть указано несколько параметров. Для изменения формата ввода используйте параметр подкоманды --input-format . |
--input-format |
Формат ввода. Возможные значения: |
--format |
Формат вывода. Значение по умолчанию — pretty .Возможные значения:
|
Примеры
Примечание
В примерах используется профиль db1
, подробнее смотрите в Создание профиля соединения.
Выполнение запроса с таймаутом
Выполните запрос с таймаутом 500 мс:
ydb yql \
--script \
"CREATE TABLE series ( \
series_id Uint64, \
title Utf8, \
series_info Utf8, \
release_date Uint64, \
PRIMARY KEY (series_id) \
);" \
--timeout 500
Если сервер не успеет выполнить запрос за 500 мс, он ответит ошибкой. Если по какой либо причине клиент не сможет получить сообщение сервера об ошибке, то операция будет прервана через 500+200 мс на стороне клиента.
Выполнение параметризированного запроса
Выполните параметризированный запрос со сбором статистики:
ydb yql \
--stats full \
--script \
"DECLARE \$myparam AS Uint64; \
SELECT * FROM series WHERE series_id=\$myparam;" \
--param '$myparam=1'
Результат:
┌──────────────┬───────────┬──────────────────────────────────────────────────────────────────────────────┬────────────┐
| release_date | series_id | series_info | title |
├──────────────┼───────────┼──────────────────────────────────────────────────────────────────────────────┼────────────┤
| 13182 | 1 | "The IT Crowd is a British sitcom produced by Channel 4, written by Graham L | "IT Crowd" |
| | | inehan, produced by Ash Atalla and starring Chris O'Dowd, Richard Ayoade, Ka | |
| | | therine Parkinson, and Matt Berry." | |
└──────────────┴───────────┴──────────────────────────────────────────────────────────────────────────────┴────────────┘
Statistics:
query_phases {
duration_us: 14294
table_access {
name: "/my-db/series"
reads {
rows: 1
bytes: 209
}
partitions_count: 1
}
cpu_time_us: 783
affected_shards: 1
}
process_cpu_time_us: 5083
total_duration_us: 81373
total_cpu_time_us: 5866