Быстрый старт
Инициализируйте каталог данных и запустите сервер PipelineDB:
pipeline-init -D <data directory>
pipelinedb -D <data directory>
Теперь активируйте непрерывное выполнение запросов. Это нужно сделать только один раз; при перезапуске нет необходимости активировать его заново .
psql -h localhost -p 5432 -d pipeline -c "ACTIVATE"
Трафик Википедии
В этом примере мы вычислим некоторые основные статистические данные о количестве просмотров страниц Википедии за день. Каждая запись в наборе данных содержит почасовую статистику просмотра страниц для каждой страницы Википедии. Формат записи следующий:
hour | project | page title | view count | bytes served
Сначала создадим непрерывное представление, используя psql
:
psql -h localhost -p 5432 -d pipeline -c "
CREATE STREAM wiki_stream (hour timestamp, project text, title text, view_count bigint, size bigint);
CREATE CONTINUOUS VIEW wiki_stats AS
SELECT hour, project,
count(*) AS total_pages,
sum(view_count) AS total_views,
min(view_count) AS min_views,
max(view_count) AS max_views,
avg(view_count) AS avg_views,
percentile_cont(0.99) WITHIN GROUP (ORDER BY view_count) AS p99_views,
sum(size) AS total_bytes_served
FROM wiki_stream
GROUP BY hour, project;"
Теперь развернем набор данных как поток и запишем его в stdin
, который можно использовать в качестве ввода для COPY
:
curl -sL http://pipelinedb.com/data/wiki-pagecounts | gunzip | \
psql -h localhost -p 5432 -d pipeline -c "
COPY wiki_stream (hour, project, title, view_count, size) FROM STDIN"
Обратите внимание, что данный набор данных большой, поэтому вышеуказанная команда будет выполняться довольно долго (ее можно отменить в любой момент). Тем временем, запустите select из непрерывного представления, пока принимаются данные из входного потока:
psql -h localhost -p 5432 -d pipeline -c "
SELECT * FROM wiki_stats ORDER BY total_views DESC";