МОГучие способности новые приемы анализа больших данных


Методы повторного взятия образцов - часть 3


Для выполнения эксперимента на этим представлением достаточного одного запроса:

CREATE VIEW trials AS SELECT d.trial_id, AVG(a.values) AS avg_value FROM design d, T WHERE d.row_id = T.row_id GROUP BY d.trial_id

Это представление формирует выборочное распределение: средние значения каждого подобразца. Окончательные результат процесса раскрутки выдается простым запросом над этим представлением:

SELECT AVG(avg_value), STDDEV(avg_value) FROM trials;

Этот запрос возвращает представляющую интерес статистику на заданным числом подобразцов. Для функций AVG() и STDDEV() уже имеется параллельная реализация, так что и весь метод работает параллельно. Заметим, что представление design имеет относительно небольшой размер (примерно 30000 строк), и поэтому может размещаться в основной памяти; следовательно, все 10000 "экспериментов" выполняются за один параллельный проход по таблице T, т.е. с теми же расходами, которые требуются для вычисления одного наивного SQL-агрегата.

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




Начало  Назад  Вперед



Книжный магазин