21.6. Функции обработки выборок #
-
TABLESAMPLE (sampling_method(percentage | rows))# Выбирает подмножество строк из аналитической таблицы или результата запроса. Репрезентативные выборки используются для анализа больших наборов данных, а также для повышения производительности запросов при исследовательском анализе данных.
Пример 21.20.
-- Выбрать 10% строк из таблицы SELECT * FROM large_table TABLESAMPLE SYSTEM(10); -- Выбрать примерно 1000 строк SELECT * FROM events TABLESAMPLE SYSTEM(1000 ROWS); -- Выбрать из файлов озера данных SELECT * FROM read_parquet('s3://datalake/**/*.parquet') TABLESAMPLE SYSTEM(5); -- Использовать выборку для быстрого анализа данных SELECT region, COUNT(*) as sample_count, AVG(revenue) as avg_revenue FROM sales_data TABLESAMPLE SYSTEM(2) GROUP BY region; -- Выбрать из соединений для ускорения SELECT c.name, COUNT(o.id) as order_count FROM customers c JOIN orders o TABLESAMPLE SYSTEM(10) ON c.id = o.customer_id GROUP BY c.name;Методы извлечения выборки:
SYSTEM: случайная выборка на уровне хранилища (быстрее, приблизительный процент).BERNOULLI: построчная случайная выборка (медленнее, точный процент).
Пример 21.21.
-- Системная выборка (рекомендуется для больших таблиц) SELECT * FROM huge_table TABLESAMPLE SYSTEM(1); -- Выборка Bernoulli (точный процент) SELECT * FROM medium_table TABLESAMPLE BERNOULLI(5);
Сценарии использования:
Исследование данных: быстрый анализ больших наборов данных.
Тестирование производительности: проверка запросов на выборочных данных.
Профилирование данных: изучение закономерностей распределения данных.
Разработка ETL-операций: создание конвейеров на выборочных данных.
Проверка качества: контроль качества данных на выборках.
Обязательные параметры:
Имя
Тип
Описание
sampling_methodkeywordSYSTEMилиBERNOULLIpercentagenumericПроцент строк для выборки (0-100)
Необязательные параметры:
Имя
Тип
Описание
rowsintegerПримерное количество строк для выборки (использовать с ключевым словом ROWS)