2013-09-27 4 views
1

Я новичок в Accumulo. Я знаю, что я могу написать Java-код для сканирования, вставки, обновления и удаления данных с помощью Hadoop и MapReduce. Я хотел бы знать, возможна ли агрегация в Accumulo.Поддерживает ли Accumulo агрегацию?

Я знаю, что в MySql мы можем использовать groupby, orderby, max, min, count, sum, join с, вложенных запросов и т.д. Является ли их есть ли возможность использовать эти функции в Accumulo прямо или косвенно.

ответ

0

Some aggregationis supportedinAccumulo, над несколькими входами и даже несколькими рядами, в пределах каждой таблетки. Агрегацию через планшеты необходимо выполнить на стороне клиента или в задании MapReduce.

+0

У меня есть сложный запрос в виде агрегированного (многоэтапного) запроса Mongo. Я пытаюсь моделировать то же самое в Accumulo. Насколько мне известно, с ограниченным знанием, которое у меня есть, я создал класс, расширяющий класс Filter. Мой вопрос: поскольку мои запросы зависят от ввода, есть ли другой способ использования итераторов/фильтров только для одного запроса или изменения их ввода с каждым единственным запросом? На данный момент мой фильтр присоединяется к таблице в «SCAN», что означает, что вывод будет видимым для последующих запросов, а не для полной базы данных. –

+1

Я думаю, что расширение Combiner, вероятно, более уместно, чем расширение фильтра. Но, да, вы можете установить итераторы на основе сканирования для разных вариантов ввода. – Christopher

+0

Понял, что, но спасибо в любом случае :) –

2

Accumulo поддерживает агрегацию с использованием итераторов объединителя (Accumulo Combiner Example).

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

Accumulo поставляется в комплекте со многими итераторами, более конкретно суммирующий комбинер используется для суммирования значений записей. У Dave Medinet есть блог с несколькими хорошими примерами (Accumulo Blog). Более конкретно, используя summingCombiner для реализации wordcount (Word Count in Accumulo). Я также предлагаю подписаться на списки рассылки пользователей Accumulo (mailing lists).

0

Мне нравится думать, что Accumulo обладает отличной функциональностью agg. Я запускаю решение OLAP на нем сотнями миллионов ключей на 40 узлах. В дополнение к основной SummingCombiner я рекомендую новую statscombiner, а

http://accumulo.apache.org/1.4/apidocs/org/apache/accumulo/examples/simple/combiner/StatsCombiner.html

, который дает вам основные статистические данные о наборе ключей.

Вы можете установить комбинаторы при уплотнении maj, незначительном уплотнении или времени сканирования. Если у вас много данных с большим количеством просохших ключей, я не рекомендую комбинировать время сканирования, потому что это может замедлить время сканирования (не всегда).

HTH

Смежные вопросы