产品文档

从ElasticSearch抽取数据

1.ElasticSearch抽取数据功能实现从ES中抽取数据到数据仓库中,支持明细数据和汇总数据,在数据抽取页面点击+号按钮,选择从ElasticSearch抽取数据菜单,创建从ES抽取数据过程,如下图:

2.录入ES地址、用户名、密码等信息,点击测试ES按钮,如果测试成功,点击下一步,进入数据抽取配置页,如下图:3.录入原表, 编写取数SQL(sql最终会被解析成DSL查询语句进行查询),根据SQL语句创建新的目标表,自动映射字段数据,创建完成后,点击执行按钮开始从ES抽取数据到数据仓库。

4.SQL支持明细查询和汇总查询两类,明细查询采用游标方式(scroll)拉取全部数据,SQL查询示例:

//汇总查询
select sex, sum(buycount) buycount, avg(intergral) intergral
from users
group by sex

//明细查询
select other10,countbegin,iscredit,post,tel,paperpype,state,openid,allergy,pinyin,name,inputdate
from users

5.在ES中,时间字段存储的是数字类型的时间戳,当对数据进行增量导入时,应该进行时间戳的比较,示例如下:

select other10,countbegin,iscredit,post,tel,paperpype,state,openid,allergy,pinyin,name,inputdate
from users where 
#if($dateLabel)
 inputdate > $tools.timeMillis($dateLabel)
and inputdate <= $tools.timeMillis($now)
#else
 inputdate <= $tools.timeMillis($now)
#end

其中 $tools.timeMillis 函数获取指定时间的时间戳。