使用Apache Drill REST API通过Node构建ASCII仪表板
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仪表板的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 合肥市房产备案价查询官网(合肥市房产备案
- 下一篇: 影子场vs.属性访问器接口第2轮