加入收藏 | 设为首页 | 会员中心 | 我要投稿 滨州站长网 (https://www.0543zz.cn/)- CDN、边缘计算、物联网、云计算、运营!
当前位置: 首页 > 大数据 > 正文

Zeppelin中Interpreter插件开发

发布时间:2021-02-19 06:16:47 所属栏目:大数据 来源:网络整理
导读:? 项目背景: ? ? (1) 已有监控系统采用的OpenTSDB方案 ? ? (2) ?目前一些大数据应用,尤其是基于spark streaming的流式应用,会实时计算生成一些指标数据,借用监控系统的存储。 ? ? (3) 需要前端展示实时分析结果,采用zeppelin展示方式,但是目前zeppelin

?? ??? ??? ??? ?// build header
?? ??? ??? ??? ?Set<String> keys = new HashSet<String>();
?? ??? ??? ??? ?sb.append("timet");
?? ??? ??? ??? ?for (QueryResponseEntity st : responses) {
?? ??? ??? ??? ??? ?sb.append(st.getTags().toString() + "t");
?? ??? ??? ??? ??? ?keys.addAll(st.getDps().keySet());
?? ??? ??? ??? ?}
?? ??? ??? ??? ?sb.replace(sb.lastIndexOf("t"),sb.lastIndexOf("t") + 1,"n");

?? ??? ??? ??? ?List<String> keys2 = new ArrayList<String>(keys);
?? ??? ??? ??? ?Collections.sort(keys2);
?? ??? ??? ??? ?// build lines
?? ??? ??? ??? ?Iterator<String> it = keys2.iterator();
?? ??? ??? ??? ?
?? ??? ??? ??? ?long t;
?? ??? ??? ??? ?while (it.hasNext()) {
?? ??? ??? ??? ??? ?String key = it.next(); // 每一行的时间戳
?? ??? ??? ??? ??? ?
?? ??? ??? ??? ??? ?t = Long.parseLong(key);
?? ??? ??? ??? ??? ?sb.append(sdf.format(new Date(t*1000)) + "t");
?? ??? ??? ??? ??? ?for (QueryResponseEntity st : responses) {
?? ??? ??? ??? ??? ??? ?Map<String,String> dps = st.getDps();
?? ??? ??? ??? ??? ??? ?String value = dps.get(key);
?? ??? ??? ??? ??? ??? ?if (value != null) {
?? ??? ??? ??? ??? ??? ??? ?sb.append(value + "t");
?? ??? ??? ??? ??? ??? ?} else {
?? ??? ??? ??? ??? ??? ??? ?sb.append(" t");
?? ??? ??? ??? ??? ??? ?}
?? ??? ??? ??? ??? ?}
?? ??? ??? ??? ??? ?sb.replace(sb.lastIndexOf("t"),
?? ??? ??? ??? ??? ??? ??? ?"n");
?? ??? ??? ??? ?}
?? ??? ??? ??? ?// sb.toString()

?? ??? ??? ??? ?return new InterpreterResult(InterpreterResult.Code.SUCCESS,
?? ??? ??? ??? ??? ??? ?InterpreterResult.Type.TABLE,sb.toString());

????二 插件部署

????????? ? (1) ?实现类的配置 ?

????????????????? ? 在ZEPPELIN_HOME/conf/zeppelin-site.xml

? ? ? ? ? ? ? ? ??

Zeppelin中Interpreter插件开发

????? ? ? (2) 拷贝OpenTSDB插件包

? ? ? ? ? ? ? ?在ZEPPELIN_HOME/interpreter

? ? ? ? ? ? ? ? 创建文件夹tsd,将所有依赖包拷贝到该文件夹下

? ? ? ? ? ? ? ? ? ??

Zeppelin中Interpreter插件开发

? ? ? ? ? (3) 重启Zeppelin,在Zeppelin管理界面的 Interpreter中添加 TSD配置

????????????????????

Zeppelin中Interpreter插件开发

?

?

三 ?实现效果

? ?

Zeppelin中Interpreter插件开发

(编辑:滨州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读