美文网首页
[ES-Spark] es array mapping 正确映射

[ES-Spark] es array mapping 正确映射

作者: PowerMe | 来源:发表于2018-04-24 19:01 被阅读27次

    之前有篇文章介绍ES数据探查的文章,出门左转可以看到。
    刚刚踩到一个小坑:ES中的字段有可能是事实上的Array类型,虽然ES中并没有明确的支持Array,但是数据可以是平铺的一个列表,如"user": ["john", "lucy"]。我们在使用SQL建立ES-Spark映射表的时候,这个字段如果不明确指定是会映射成String类型的。查询肯定报错了。

    解决办法是在options中使用参数es.read.field.as.array.include 把数组字段添加进来,如在es里 city字段是事实上的数组字段,options如下组织:

    CREATE TABLE IF NOT EXISTS *** USING es OPTIONS (es.nodes 'xxx' es.port 'xxx',path 'xxx', es.read.field.as.array.include 'city')

    若有多个数组字段,用逗号连接

    相关文章

      网友评论

          本文标题:[ES-Spark] es array mapping 正确映射

          本文链接:https://www.haomeiwen.com/subject/kjtslftx.html