HBase 的 SQL 引擎,用 Phoenix 就挺方便的。你写查询的时候不用再啃 HBase 那套底层 API 了,直接用 JDBC,写 SQL,省事还高效。多人担心 Phoenix 会拖慢 HBase,嗯,其实不会,它底层做了不少优化,scan 合并、查询下推这些机制都挺聪明,性能不比你自己写 MapReduce 差,甚至更好。而且你代码少写一大截,心情都好点。
Phoenix 安装文档里讲得比较细,从怎么连 JDBC 到表结构怎么设计都有,适合像这种记性不太好的程序员复查一下部署步骤。
想看看怎么在生产上跑 SQL?这篇深入解析 Phoenix就讲得挺透的。还有个HBase 与 Phoenix 本地测试指南,想本地起服务测试一下,这篇比较有参考价值。
顺带一提,如果你在搞监控系统,Prom 对接 HBase 的实践也可以看看,思路还不错。SQL 那块你要更深入也可以看下SQL 查询专题。
建议你装 Phoenix 的时候注意版本对应,像Phoenix 4.8.1 对 HBase 1.2这种组合得配好,不然各种奇怪的问题搞得你抓狂。
如果你也在用 HBase,又嫌写 Java 代码太累,试试 Phoenix 挺合适的。