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)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章