Выполнение скрипта (с поддержкой стриминга)
С помощью подкоманды yql
вы можете выполнить YQL-скрипт. Скрипт может содержать запросы разных типов. В отличие от scripting yql
, подкоманда yql
устанавливает стрим и получает данные через него. Выполнение запроса в стриме позволяет снять ограничение на размер читаемых данных.
Общий вид команды:
ydb [global options...] yql [options...]
global options
— глобальные параметры.options
— параметры подкоманды.
Посмотрите описание команды выполнения YQL-скрипта:
ydb yql --help
Параметры подкоманды
Имя | Описание |
---|---|
--timeout |
Время, в течение которого должна быть выполнена операция на сервере. |
--stats |
Режим сбора статистики. Возможные значения:
none . |
-s , --script |
Текст YQL-скрипта для выполнения. |
-f , --file |
Путь к файлу с текстом YQL-скрипта для выполнения. |
-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