Я прочитал книгу Натана Марца о лямбда-архитектуре. Я действительно делаю доказательство концепции этого решения.Jcascalog запрашивает данные бережливости на HDFS
У меня возникли трудности с построением моего запроса Jcascalog.
Это часть моей бережливость схемы, которые нас интересуют:
union ArticlePropertyValue {
1: decimal quantity,
2: string name;
}
union ArticleID {
1: int id;
}
struct ArticleProperty {
1: required ArticleID id;
2: required ArticlePropertyValue property;
}
union DataUnit {
1: TicketProperty ticket_property;
2: ArticleProperty article_property;
}
Я сохранил некоторые данные с Ведро в папку:/главная/билеты
Теперь я хочу, чтобы сделать запрос на этот data: Я хочу получить сумму группировки количества по названию статьи. Так что сначала мне нужно получить имена и после количества. Для каждого я могу получить идентификатор статьи.
Например, у меня будет иметь этот результат для запроса с именем (id_article, имя): (1, макаронные изделия) - (2, pasta2) - (3, макаронные изделия)
для запроса количества (id_article, количество): (1, 2) - (2, 1) - (3, 1)
Tap source = splitDataTap("/home/florian/Workspace/tickets");
Api.execute(
new StdoutTap(),
new Subquery("?name", "?sum")
.predicate(source, "_", "?data")
.predicate(new ExtractArticleName(), "?data")
.out("?id", "?name")
.predicate(new ExtractArticleQuantity(), "?data")
.out("?id", "?quantity")
.predicate(new Sum(), "?quantity")
.out("?sum")
);
проблема заключается в том, что я не знаю, как объединить результат? Как я могу присоединиться к Cascalog и данным в HDFS?