Введение
YQL (Yandex Query Language) — универсальный декларативный язык запросов к системам хранения и обработки данных, а также инфраструктура для их выполнения. К преимуществам YQL можно отнести:
- мощный графовый движок исполнения, который строит MapReduce-pipelines из сотен узлов и может адаптивно перестраиваться по ходу вычисления;
 - возможность построения сложного конвейера обработки данных на SQL с сохранением подзапросов в переменные в виде цепочек зависимых запросов и транзакций;
 - предсказуемое параллельное исполнение запросов произвольной сложности;
 - эффективная реализация join-ов, подзапросов и оконных функций без ограничений на их топологию и вложенность;
 - богатая библиотека функций;
 - поддержка пользовательских функций на C++, Python;
 - автоматическое исполнение небольших частей запросов на заранее подготовленных вычислительных инстансах в обход MapReduce-операций для уменьшения времени выполнения.
 
YQL предоставляет функциональный веб-интерфейс, в котором среди прочего можно:
- писать код запросов;
 - запускать и останавливать выполнение запросов;
 - просматривать результат выполнения запросов;
 - просматривать историю запросов.
 
Как попробовать
Чтобы запустить свой первый YQL-запрос:
- 
Откройте веб-интерфейс YTsaurus кластера и перейдите на вкладку Queries — на неё можно попасть из меню слева.
 - 
Введите запрос и нажмите кнопку запуска:
SELECT "Hello, World!";
 
Глоссарий
| 
 Термин  | 
 Перевод на английский  | 
 Описание  | 
| 
 Запрос  | 
 Query  | 
 Текст программы на YQL  | 
| 
 Операция  | 
 Operation  | 
 Процесс выполнения конкретного запроса (query). Запрос и операция в терминологии YQL соотносятся примерно так же, как программа и процесс в операционной системе  | 
| 
 Таблица  | 
 Table  | 
 Логически таблица — список структур ( Элементы списка образуют строки (row), а элементы каждой структуры (member) являются ячейками таблиц. А множество находящихся друг под другом ячеек, соответственно, образуют колонку таблицы (column)  | 
| 
 Выражение  | 
 Expression  | 
 Любое вычисляемое значение. Как правило принимают на вход одну или несколько ячеек таблицы и результат становится ячейкой другой таблицы. Примеры: 
  | 
| 
 Выражение верхнего уровня  | 
 Statement  | 
 Составные части запроса (query), разделенные точкой с запятой и начинающиеся с глагола. Примеры: 
  | 
| 
 Подзапрос  | 
 Subquery  | 
 Составная часть запроса, которая наравне с таблицами может использоваться как вход для выражений верхнего уровня (statements) или других подзапросов. Опционально подзапросы могут быть параметризованными  | 
| 
 Именованное выражение  | 
 Named node  | 
 Механизм для повторного использования выражений (expression) и подзапросов (subquery) в рамках одного запроса (query). Подробнее Примеры: 
  | 
| 
 Лямбда функция  | 
 Lambda  | 
 Параметризуемый блок из одного или нескольких именованных выражений (только с expression, не верхнего уровня), результат последнего из которых становится результатом вызова всей лямбды. Вызов осуществляется с помощью передачи параметров в круглые скобки. Подробнее  | 
| 
 Пользовательская функция  | 
 UDF (User Defined Function)  | 
 Возможность встроить в запрос бизнес-логику на одном из поддерживаемых распространённых языков программирования. UDF на C++ подключаются в скомпилированном в  Так как оптимизатор YQL не умеет «заглядывать» внутрь интерпретатора Python, то с точки зрения производительности рекомендуется предпочитать использовать лямбда функции и C++ UDF  | 
| 
 Действие  | 
 Action  | 
 Параметризуемый блок из одного нескольких выражений верхнего уровня (statements), который затем может вызвать необходимое число раз с помощью специальных предназначенных для этого ключевых слов. В отличие от лямбда функций не возвращают никакого результата. Подробнее  | 
| 
 Библиотека  | 
 Library  | 
 Часть запроса, вынесенная в отдельный файл для повторного использования или просто удобства. Подробнее  |