繼之前分享如何實作「窮人版 ELK」之後,再來分享一下這個服務裡面的 DSL 是如何實作的。會想到要為這個服務做 DSL,主要是小編雖然已經把 Impala 產生的資料利用一些工具轉成 PNG 圖檔,但動作太繁雜,所以想把這些過程用 DSL 來表示,工程師只要會下 SQL 就能把資料轉成 PNG 圖檔了。
其實對於 DSL,有在 follow 粉絲頁的朋友應該有注意到,小編很久以前就有一個屬意的方案了,那就是 MSON。它結合了 Markdown 以及 JSON,所以不只人類易讀,機器也易讀。只不過 MSON Parser 一直都是殘缺不全,所以沒辦法讓小編完整的實作 DSL,這個方案就被捨棄了。
另一個也很適合拿來做 DSL 的就是 YAML 了,個人覺得跟 MSON 比起來易讀性稍低一點,但已經是目前還不錯的實作方式,所以就以這個來做為「窮人版 ELK」的 DSL 實作方案。
DSL 已經把所有轉換的細節都隱藏起來了,工程師只要先自己在 Impala 上撰寫正確的 SQL 指令,其他動作只要把必要欄位填完就可以了。下面是必要欄位的說明:
* SQL:要在 Impala 裡面執行的 SQL 指令,其中有用 ":VAR" 包起來的變數名稱,表示是從 INPUT 欄位取得
* CHART:highcharts 的圖表格式,DSL 目前支援 column (長條圖)、pie (圓餅圖)
* INPUT:這是一個陣列,表示這個變數名稱是從外部操作時取得,另外後面的 "date" 為資料型態,目前支援的類型為 HTML 的 input[type]
* OUTPUT:產生 PNG 圖檔時的欄位資訊,如 X 軸是從 Impala 的哪個欄位取得,顯示在圖表上的名稱要叫什麼
至於轉換細節又是另一件麻煩事,將 DSL 轉成最後的圖檔又經過了不少步驟:
1. js-yaml:雖然說 YAML 很適合拿來做 DSL,但 JSON 還是目前大家最常用的格式。所以當然要先把 YAML 轉成 JSON 這樣才好操作 XD
2. jq:轉換過程中 jq 幫了小編很大的忙,官網寫著這是一套輕量且靈活的命令列 JSON 處理工具。無論要對 JSON 取 key、取 value、取 length、做 group by、做 sort by、if-else、while-loop 都可以,就是很強大。所以小編就拿這個將 YAML 轉換完的 JSON,用一堆奇怪的語法把資料轉換成功。
其實在轉換過程最麻煩的不是操作 JSON,最麻煩的在小編不太會寫 bash script 啊!!!尤其是一堆變數轉換的過程,一下子用 ${},一下子用 $(),還有 ${[$k]} 的這種寫法,看了頭好痛 Orz
最後把 jq 轉完的資料丟給前一篇提到的那些工具,就可以完美把 PNG 圖檔產生出來了,第二篇的「窮人版 ELK」文章到此也就結束了。其實這個專案還有另一個跟圖表無關的功能,那就是即時觀看 API 發送歷程,如果有第三篇的話再來分享一下好了。
* 如何實作「窮人版 ELK」:https://www.facebook.com/kewang.information/posts/2085843121692051
* 如何使用 MSON 的幾個方向:https://www.facebook.com/kewang.information/posts/1940647046211660
* jq:https://stedolan.github.io/jq
#mson #dsl #yaml #json #jq
同時也有71部Youtube影片,追蹤數超過4萬的網紅吳老師教學部落格,也在其Youtube影片中提到,EXCEL VBA辦公自動化--自強基金會2012二班(第4次上課) 完整影音連結: http://groups.google.com/group/excelvba2012?hl=zh-TW 本次上課主要為: 1.如何在EXCEL中設計表單。 2.如何建立ACCESS資料庫。 3.如何在ACCE...
sql資料型態 在 吳老師教學部落格 Youtube 的精選貼文
EXCEL VBA辦公自動化--自強基金會2012二班(第4次上課)
完整影音連結:
http://groups.google.com/group/excelvba2012?hl=zh-TW
本次上課主要為:
1.如何在EXCEL中設計表單。
2.如何建立ACCESS資料庫。
3.如何在ACCESS中下SQL與法新增一筆記錄。
4.如何引用ADO元件。
5.如何撰寫ADO連線到ACCESS或其他資料庫。
6.將EXCEL工作表當成資料表使用程式撰寫。
7.如何要EXCEL VBA中用ADO新增表單中的資料到資料庫中。
吳老師 101/9/10
01_在ACCESS中產生資料表並加入SQL語法
02_複製利用ADO新增資料程式與說明
03_修改ADO_INSERT_INTO語法
04_資料寫入到資料表中與遠端存取
05_保險費計算範例說明
06_保險費計算介面設計說明
07_程式撰寫秘訣分享與程式撰寫
08_程式資料型態說明與資料庫建立
09_程式撰寫說明
EXCEL函數與VBA進階班總整理:
http://terry55wu.blogspot.com/p/excelvba.html
目前 EXCEL函數與VBA完整影音論壇:
1.EXCEL函數與VBA設計
http://groups.google.com/group/labor_excel_vba?hl=zh-TW
2.EXCEL函數與VBA進階51
http://groups.google.com/group/excelvba51?hl=zh-TW
3.EXCEL函數與VBA雲端班
http://groups.google.com/group/excelvbacloud?hl=zh-TW
4.EXCEL VBA辦公自動化班
http://groups.google.com/group/excelvba_cloud?hl=zh-TW
5.EXCEL函數與VBA設計(自強基金會2012)
http://groups.google.com/group/excelvba2012?hl=zh-TW
EXCEL,VBA,函數,自強基金會,吳清輝老師,程式設計,線上教學,e化創新,雲端計算,吳老師提供,APP教學
sql資料型態 在 吳老師教學部落格 Youtube 的精選貼文
ASP.NET 3.5程式設計第 11 次上課
這次課程比較容易些,主要是了解 sqlserver 的基本操作方式,
如何建立資料庫、資料表與建立欄位,
並補充說明如何將網路上的資料,轉成表格,再匯入到資料庫中,
這也是大家最想知道的部分,
因為很多人學完 sqlserver 之後卻不知道如何與OFFICE交換資料,
這等於沒學完整,其實最簡單的方法還是用複製與貼上最快,也無需死記。
此外,學 sqlserver 之前,建議先把 ACCESS學好,
因為 ACCESS是目前最普及的資料庫應用程式,
一般電腦都有裝之外,跟WORD與EXCEL交換資料很方便,
與 sqlserver 互通資料也便利,可以當成資料交換中心。
外為會走雲端,OFFICE也會上雲端,
所以也順便說一下如何從GOOGLE文件資料如何轉道資料庫中。
上課目次:
01使用google文件分享資源
02SQL查詢說明
03修改別名
04where子句查詢
05使用視覺化工具
06wher子句&OR&AND
07BETWEEN&IN子句查詢
08wher子句&OR&AND
09計算打折後的結果
10介紹google文件建立表單與sqlserver資料交換
11如何將網路上成語資料轉換到sqlserver中
12介紹其他的範例資料庫
13查詢成與資料表
14sql新增&修改&刪除
ASP.NET雲端計算與資料庫線上教學分享
課程特色
ASP.NET雲端計算與資料庫設計
1.互動式程式設計基礎。2.雲端計算互動設計。3.ASPNET資料庫存取。4.整合專案開發。
備註:上課即時錄製教學,並於課後提供學員線上數位學習。
上課時數:每堂3小時共計10堂授課:吳老師(元智大學助理教授)
課程大綱
堂數 類別 內容
第一堂 程式碼撰寫規則 If/Then條件敘述
SelectCase多選一條件敘述
ForTo/Next迴圈
Do...Loop迴圈
第二堂 標準控制項1 Label、Literal
Button、LinkButton、ImageButton
第三堂 標準控制項2 HyperLink、TextBox
CheckBox、RadioButtonList
第四堂 資料型態 控制項名稱
變數名稱的命名規則
變數的宣告
變數資料類型
第五堂 資料庫的操作與資料繫結 資料庫的操作與資料繫結
資料控制項
第六堂 資料控制項 GridView、DetailView
FormView、DataList、ListView
第七堂 GridView控制項的使用 FormView控制項的使用
建立Access資料庫的資料表
第八堂 SQLServer資料庫系統 SQLServer資料庫系統
新增查詢和加入資料庫
SQL語言的資料操作指令
第九堂 建立網頁資料庫 SqlDataSource資料來源控制項
建立參數的SQL查詢
第十堂 網頁資料庫顯示與維護 建立主要與詳細表單
樣板基礎與資料控制項
總時數 60HR
吳老師教學網:
http://3cc.cc/10g/
湜憶電腦
http://www.10g.com.tw/
部落格:
http://my10g.blogspot.com/
溫馨考場論壇:
http://123.205.192.177/uc/bbs/index.php/
湜憶電腦 國際電腦證照專業考場,原場地考試發照。
公司地址:台北市民權西路79號8樓之3(民權西路站正對面)
(T)02-25868980/02-25868976(F)02-25868981
ASP.NET 雲端計算 資料庫 電腦證照 TQC+FLASH CS4 乙級 丙級 TQC TQC+ 電腦證照 湜憶電腦 民權西路站 AUTOCAD 3D SolidWorks AUTOCAD入門 溫馨考場
sql資料型態 在 吳老師教學部落格 Youtube 的最佳貼文
EXCEL VBA辦公自動化--自強基金會2012(第9次上課)
完整影音連結:
http://groups.google.com/group/excelvba2012?hl=zh-TW
本次上課主要為:
1.如何在EXCEL中設計表單。
2.如何建立ACCESS資料庫。
3.如何在ACCESS中下SQL與法新增一筆記錄。
4.如何引用ADO元件。
5.如何撰寫ADO連線到ACCESS或其他資料庫。
6.將EXCEL工作表當成資料表使用程式撰寫。
7.如何要EXCEL VBA中用ADO新增表單中的資料到資料庫中。
吳老師 101/9/10
01_在ACCESS中產生資料表並加入SQL語法
02_複製利用ADO新增資料程式與說明
03_修改ADO_INSERT_INTO語法
04_資料寫入到資料表中與遠端存取
05_保險費計算範例說明
06_保險費計算介面設計說明
07_程式撰寫秘訣分享與程式撰寫
08_程式資料型態說明與資料庫建立
09_程式撰寫說明
EXCEL函數與VBA進階班總整理:
http://terry55wu.blogspot.com/p/excelvba.html
目前 EXCEL函數與VBA完整影音論壇:
1.EXCEL函數與VBA設計
http://groups.google.com/group/labor_excel_vba?hl=zh-TW
2.EXCEL函數與VBA進階51
http://groups.google.com/group/excelvba51?hl=zh-TW
3.EXCEL函數與VBA雲端班
http://groups.google.com/group/excelvbacloud?hl=zh-TW
4.EXCEL VBA辦公自動化班
http://groups.google.com/group/excelvba_cloud?hl=zh-TW
5.EXCEL函數與VBA設計(自強基金會2012)
http://groups.google.com/group/excelvba2012?hl=zh-TW
EXCEL,VBA,函數,自強基金會,吳清輝老師,程式設計,線上教學,e化創新,雲端計算,吳老師提供,APP教學
sql資料型態 在 SQL Server 近年新增的MONEY 型別,不適合需要精確度的計算... 的推薦與評價
Under the covers, MONEY is stored as an integer data type, so it is fast, and will generally use less storage. under the covers, SQL Server ... ... <看更多>
sql資料型態 在 【MS SQL】Data Type | 伍夜黃昏之時 的推薦與評價
前言SQL Server 資料型別(Data Type)也可稱為資料類型,定義資料表欄位能儲存哪種類型資料,以及使用多少位元組來儲存資料,在SQL Server 內可以分 ... ... <看更多>