Какой формат журнала нужен для приемника Flume hbase ()? - PullRequest
2 голосов
/ 28 марта 2012

Формат журнала, который я использую - JSON, и он имеет 15 пар ключ-значение:

{"k1":"v1","k2":"v2","k3":"v3","k4":"v4","k5":"v5","k6":"v6","k7":"v7","k8":"v8","k9":"v9","k10":"v10","k11":"v11","k12":"v12","k13":"v13","k14":"v14","k15":"v15"}

И следующая конфигурация для узлов коллектора Flume для анализа журналов и сохранения в HBase:

* Source
collectorSource(35853)

* Sink
regexAll("\\{\"([^\"]*)\":\"([^\"]*)\",\"([^\"]*)\":\"([^\"]*)\",\"([^\"]*)\":\"([^\"]*)\",\"([^\"]*)\":\"([^\"]*)\",\"([^\"]*)\":\"([^\"]*)\",\"([^\"]*)\":\"([^\"]*)\",\"([^\"]*)\":\"([^\"]*)\",\"([^\"]*)\":\"([^\"]*)\",\"([^\"]*)\":\"([^\"]*)\",\"([^\"]*)\":\"([^\"]*)\",\"([^\"]*)\":\"([^\"]*)\",\"([^\"]*)\":\"([^\"]*)\",\"([^\"]*)\":\"([^\"]*)\",\"([^\"]*)\":\"([^\"]*)\",\"([^\"]*)\":\"([^\"]*)\"\\}", "k1", "v1", "k2", "v2", "k3", "v3", "k4", "v4", "k5", "v5", "k6", "v6", "k7", "v7", "k8", "v8", "k9", "v9", "k10", "v10", "k11", "v11", "k12", "v12", "k13", "v13", "k14", "v14", "k15", "v15")
hbase("accesslog", "%{nanos}", "colfam", "%{k1}", "%{v1}", "colfam", "%{k2}", "%{v2}", "colfam", "%{k3}", "%{v3}", "colfam", "%{k4}", "%{v4}", "colfam", "%{k5}", "%{v5}", "colfam", "%{k6}", "%{v6}", "colfam", "%{k7}", "%{v7}", "colfam", "%{k8}", "%{v8}", "colfam", "%{k9}", "%{v9}", "colfam", "%{k10}", "%{v10}", "colfam", "%{k11}", "%{v11}", "colfam", "%{k12}", "%{v12}", "colfam", "%{k13}", "%{v13}", "colfam", "%{k14}", "%{v14}", "colfam", "%{k15}", "%{v15}")

Я думаю, что есть гораздо лучшие способы для эффективного хранения этих журналов стиля ключ-значение в HBase.

Какие форматы журналов вы выбрали для приемника HBase?

Изменение приемника с hbase() на attr2hbase() - вот что я собираюсь сделать, но перед этим я хотел бы получить несколько советов по более эффективному формату необработанного журнала и советы по hbase() и attr2hbase() тонет.

...