Как прочитать данные

Содержание раздела
  1. Чтение данных по HTTP
  2. Чтение данные по JDBC
  3. Примеры
    1. Чтение из логической таблицы
    2. Чтение из логического представления
    3. Чтение из материализованного представления
    4. Чтение из прокси-таблицы
    5. Чтение из standalone-таблицы
    6. Чтение из соединения standalone-таблицы и логической таблицы

Система позволяет запрашивать данные и получать выборку в ответе. Данные можно запрашивать из следующих сущностей и их соединений:

Чтобы получить данные, включающие сотни и более записей, рекомендуется использовать потоковое чтение данных или выгрузку данных.

Чтение данных по HTTP

Чтобы прочитать данные по HTTP, отправьте запрос с помощью POST-метода query:

  • чтобы получить выборку одним ответом, не указывайте параметр fetchSize в теле запроса или укажите его со значением 0;
  • чтобы получить выборку потоком из порций данных, укажите значение параметра fetchSize в теле запроса, равное нужному максимальному размеру порции данных.

Чтение данные по JDBC

Чтобы прочитать данные по JDBC, отправьте запрос SELECT:

На рисунке ниже показан пример запроса из логической таблицы sales с помощью SQL-клиента.

Запрос с помощью SQL-клиента

Примеры

Чтение из логической таблицы

-- выбор логической базы данных marketing в качестве базы данных по умолчанию
USE marketing;

-- запрос данных из логической таблицы sales
SELECT s.store_id, SUM(s.product_units) AS product_amount
FROM sales AS s
GROUP BY (s.store_id)
ORDER BY product_amount DESC
LIMIT 20;

Чтение из логического представления

-- запрос данных из логического представления stores_by_sold_products
SELECT sold.store_id, sold.product_amount
FROM marketing.stores_by_sold_products AS sold;

Чтение из материализованного представления

-- запрос данных из материализованного представления sales_by_stores
SELECT * FROM marketing.sales_by_stores
WHERE store_id IN (1234, 1235, 1236);

Чтение из прокси-таблицы

SELECT p.type_code, SUM(p.amount) AS amount, p.currency_code 
FROM marketing.payments_proxy AS p 
GROUP BY p.type_code, p.currency_code

Чтение из standalone-таблицы

-- запрос данных из standalone-таблицы, на которую указывает внешняя readable-таблица payments_ext_read_adqm
SELECT p.agreement_id, p.code, SUM(p.amount) AS amount, p.currency_code 
FROM marketing.payments_ext_read_adqm AS p 
GROUP BY p.agreement_id, p.code, p.currency_code

Чтение из соединения standalone-таблицы и логической таблицы

-- запрос данных из логической таблицы clients и standalone-таблицы, на которую указывает 
--   внешняя readable-таблица agreements_ext_read_adp
SELECT a.id, a.client_id, c.last_name, c.first_name, c.patronymic_name 
FROM marketing.agreements_ext_read_adp AS a
LEFT JOIN marketing.clients FOR SYSTEM_TIME AS OF DELTA_NUM 9 AS c
  ON a.client_id = c.id