dataocean平臺用繼承spark的python腳本來實現抓取es數據到hive

在大數據生態裏,ES作爲一個極致搜索平臺,可依據json格式快速在線查詢過濾以及修改數據,由於json數據是半結構化數據,所以從hive數倉數據交換到es很簡單,但是從es交換到hive就需要對應字段切分,現在基本上使用的都是scala,java來實現,雖然這些語言是多線程的,也能實現很多功能需求,但同樣的開發難度和維護難度也上去了。

你需要配置環境,比如連接es的,數據導入hive的,這些常用maven來實現

阿里雲這些還好,可以在網上下載相關包,但是對於一些定製化的大數據平臺,你只能離線配置相關環境。

環境搭配完成後,對於抓取到的es數據你需要按照json數據來一一切分傳入到大數據平臺

最後再打成jar包,創建作業調度運行

這一套下來的開發成本還是很大的,我們細想一下,在同一個大數據生態裏,爲什麼我們還要利用其他的語言和環境來做這個數據傳輸,爲什麼不能直接在平臺裏做,在平臺裏開發呢?

於是簡單方便的python便應運而生,就只需要幾行代碼就可以輕鬆搞定。

首先是寫好要運行的sql以及相關臨時表和導入表,數據會從es的表裏先臨時導入到臨時表,再從臨時表裏把數據寫到我們的目標hive表

需要注意的是select的列要按表列順序一個個的寫出來,否則會數據錯位

tmpTable='test1'
sql='insert overwrite table pro.tab select col1,col2,col3 from {}'.format(tmpTable)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章