Apache Drill有一个隐藏的瑰宝:易于使用的REST接口。 该API可用于查询,分析和配置Drill引擎。

在此博客文章中,我将说明如何使用Brilled Contrib使用Drill REST API创建ascii仪表板。

ASCII仪表盘如下所示:

先决条件

  • Node.js
  • Apache Drill 1.2
  • 对于此帖子,您将在此处使用SFO Passengers CSV文件。
    • 在本地下载此文件,解压缩文件,然后将CSV放入一个文件夹中,该文件夹可使用Drill中的以下路径访问: dfs.data.`/airport/*.csv`

注意:我仍在使用Apache 1.2来允许在MapR集群的上下文中执行此示例。

查询和查看

在Drill 1.2中,不会自动分析CSV标头。 (这是1.3的新功能之一:在文档中查找extractHeader )。

为简单起见,请删除CSV的第一行。

基本查询如下所示:

现在让我们用以下列创建一个视图:( 不要设置任何限制!

因此,您现在可以在查询中使用该视图:

使用REST API

现在您有了查询,您可以使用REST API通过HTTP将数据作为JSON文档检索。 打开一个终端并运行以下curl命令:

返回的JSON文档如下所示:

如您所见,它非常简单:

  • 列出列的第一个JSON属性
  • 行列表,作为数组中的JSON文档。

使用Node.js和Blessed Contrib创建图

让我们创建一个节点应用程序。

首先,您必须包括:

  • request :调用REST API
  • blessed :获得丰富的Terminal API
  • blessed-contrib :用于仪表板

然后创建一个screen和一个bar从甜菜的Contrib。

因此,您的Javascript文件的标题如下所示:

因此,在这里我们定义了一个bar char,它将填充列和行。 为此,我们需要一个查询,让我们使用每年的乘客数量,如下所示:

完整的Bar Chat应用程序如下所示:

  • 第15-17行包含Drill REST API使用的查询对象
  • 第26-38行包含来自HTTP调用的回调,结果值存储在数据对象中(第33-34行),然后在条形图中设置(第36行)

运行“仪表板”

该应用程序在您的终端中显示一个简单的条形图。 现在让我们创建一个更丰富的仪表板。

完整的仪表板

Bless-Contrib节点程序包允许开发人员创建丰富的仪表板,这些仪表板可以聚合多个图形,并且可以自动刷新,如本文顶部的截屏所示。

您可以在此Github存储库中找到一个简单的仪表板,将其克隆后,只需运行:(确保您的视图名为“ airport_data_view'

您甚至可以更改CSV文件,例如添加新的月份,右侧的折线图将自动刷新。

注意:此仪表板示例非常基础,只是一个简单的示例,说明了如何在node.js应用程序中使用Drill REST API

翻译自: https://www.javacodegeeks.com/2015/12/using-apache-drill-rest-api-build-ascii-dashboard-node.html

使用Apache Drill REST API通过Node构建ASCII仪表板相关推荐

  1. drill apache_使用Apache Drill REST API通过Node构建ASCII仪表盘

    drill apache Apache Drill有一个隐藏的瑰宝:易于使用的REST接口. 该API可用于查询,分析和配置Drill引擎. 在此博客文章中,我将解释如何使用Brilled Contr ...

  2. Apache Drill详解

    Apache Drill 调研学习 一.Drill概述 在大数据时代,对于Hadoop中的信息,越来越多的用户需要能够获得快速且互动的分析方法.大数据面临的一个很大的问题是大多数分析查询都很缓慢且非交 ...

  3. Apache Drill:如何创建新功能?

    Apache Drill允许用户使用ANSI SQL探索任何类型的数据. 这很棒,但是Drill的作用远远不止于此,它允许您创建自定义函数来扩展查询引擎. 这些自定义功能具有任何Drill基本操作的所 ...

  4. apache mesos_试用Apache Mesos HTTP API获得乐趣和收益

    apache mesos by Marco Massenzio 由Marco Massenzio 试用Apache Mesos HTTP API获得乐趣和收益 (Experimenting with ...

  5. Apache Drill学习

    简介 Apache Drill is a low latency distributed query engine for large-scale datasets, including struct ...

  6. 分布式查询工具-Apache Drill

    1.概述. 2.特点. 3.原理. 4.架构. 5.Drill安装. 6.集群安装. 7.连接数据源 8.应用 9.性能调优 1)查询计划选项的修改 2)Modify broadcast join o ...

  7. drill apache_使用Apache Drill深入研究当今的大数据

    drill apache 自2014年9月首次提供Beta版以来, Apache Drill一直在获得广泛的用户采用和社区动力.2015年5月发布了Drill的通用版本-Drill 1.0,此后大量客 ...

  8. 如何指南:Apache Drill入门

    Apache Drill是一种引擎,可以连接到许多不同的数据源,并为它们提供SQL接口. 它不仅是想跳入任何复杂事物的SQL接口,而且是一个功能强大的接口, 其中包括对许多内置函数和窗口函数的支持. ...

  9. 使用Apache Drill深入研究当今的大数据

    自2014年9月首次提供Beta版以来, Apache Drill一直在获得广泛的用户采用和社区动力.2015年5月发布了Drill的通用版本-Drill 1.0,此后,许多客户已在生产中部署和使用了 ...

最新文章

  1. php+管道+pipe管道,C++ 匿名管道执行DOS命令
  2. OKR案例:德勤如何引入OKR
  3. python线程信号量semaphore
  4. POJ1703带权并查集(距离或者异或)
  5. Eclipse报错:!!MESSAGE Job found still running.......
  6. java基本数据类型填空题_java基本数据类型练习题
  7. linux svn服务的维护,Linux服务器搭建svn环境方法详解_网站服务器运行维护,Linux,svn...
  8. 运动控制器之追剪应用Demo
  9. Android 加载数据等待时 小人奔跑进度动画
  10. 计算机考试后进先出,事业单位考试计算机基础知识:建立单链表——后进先出表...
  11. python画八卦图
  12. chmod +x 与chmod +777的区别
  13. IOS开发—— 获取AppDelegate的属性或字段
  14. 【JavaScript】input提示弹出框
  15. android博学谷实验报告,《Android项目实战-博学谷》我的模块
  16. Background sticky concurrent mark sweep GC freed 842(58KB) AllocSpace objects
  17. 【openVINO+paddle】CPU部署新冠肺炎CT图像分类识别与病害分割
  18. 【UE4】在 Content 目录中查看、筛选资产
  19. [极客大挑战 2019]Http
  20. CPU是如何制造出来的?高清图解

热门文章

  1. Java高级篇——深入浅出Java类加载机制
  2. Java 9 中的9个新特性
  3. sqlserver建库建表建约束,删库删表删约束的示例总结
  4. 图的深度优先遍历+图解
  5. db9针232接口波特率标准_理解串口通信以及232,485,422常见问题
  6. 托管 非托管_如何在托管的Kubernetes上备份Neo4J
  7. 怎么清理句柄_JAR文件句柄:混乱后清理!
  8. camel apache_Apache Camel 3只有2个月的路程
  9. php cdi_通过MicroProfile上下文传播增强了CDI上下文和隔板
  10. java中什么时候应用异常_生产Java应用程序中的十大异常类型-基于1B事件