Kylin實戰 郵件報表生成

2021-09-07 06:24:12 字數 2058 閱讀 8122

在cube build完成後,我的工作是寫sql生成資料分析郵件報表。但是,問題是這種重複勞動效率低、易出錯、浪費時間。還好kylin提供restful api,可以將這種資料分析需求轉換成http請求。

kylin的認證是basic authentication,加密演算法是base64,加密的明文為username:password;在post的header進行使用者認證:

在認證完成之後,可以復用cookie檔案(不再需要重新認證),向kylin傳送get或post請求,比如,查詢cube的資訊:

若要向kylin傳送sql query,則post請求中的data應遵從如下json規範:

其中,offset為sql中相對記錄首行的偏移量,limit為限制記錄條數;二者在後台處理時都會拼接到sql中去。傳送sql query的curl命令:

python的神模組requests已封裝好了http請求與返回,好用到爆!session物件解決了認證、cookie持久化(persistent)的問題:

results = r.json()['results']kylin的sql query的查詢結果在results,其型別為list[list]。因此,封裝kylin的認證與sql查詢介面如下:

return results後面郵件報表的生成,得具體聯絡業務需求。這裡,分享一下新增郵件附件的方法:

msg = mimemultipart()

att1 = mimetext(open('./resources/***.csv', 'rb').read(), 'base64', 'gb2312')

att1["content-disposition"] = 'attachment; filename="***.csv"'

msg.attach(att1)

jenkins 生成HTML報表,郵件推送

1.登入jenkins,系統管理 外掛程式管理 可選外掛程式安裝 安裝成功 2.開啟任務,進入配置 3.新增構建後操作 4.配置頁面 5.構建後report輸出配置完成後點選立即構建,構建完成如下 6.點選html report 檢視 將localhost 替換成本機ip,方便在本公司同一區域網內的...

Kylin 讀寫分離實戰

計算集群 集群1 hadoop hive,儲存集群 集群2 hadoop,hive hbase 需要core site.xml,hbase site.xml,hdfs site.xml,hive site.xml,mapred site.xml,yarn site.xml hbase site.xm...

kylin入門到實戰 入門

kylin是一款開源的分布式資料分析工具,基於hadoop之上的sql查詢介面,能支援超大規模的資料分析。響應時間在亞秒級別,其核心是預計算,計算結果存放在hbase中。3.1fact table 事實表 事實表是指包含了大量不冗餘資料的表,其列一般有兩種,分別為包含事實資料的列,包含維表forei...