DLA支持MongoDB的嵌套字段查询
背景
DLA之前对于MongoDB只支持简单类型的映射查询,对于嵌套字段无法直接查询,最近我们加入了对嵌套字段直接查询的支持,这篇文章给大家介绍一下。
MongoDB嵌套字段查询详解
首先我们在MongoDB里面准备一个带有嵌套数据结构的collection:
db.Ha.insert({ id: 1, name: "james", age: 1, details: { city: "hangzhou" } });
这里 details 里面的 city 字段就是一个嵌套的字段。然后我们来创建一个DLA里面的表:
CREATE EXTERNAL TABLE `Ha` ( `id` int, `name` string, `age` int, `city` string ) TBLPROPERTIES ( COLUMN_MAPPING = 'city,details.city;' )
注意,我们这里用到了 COLUMN_MAPPING 的功能,它的作用是把用户在DLA层面声明的字段名映射到底层MongoDB里面的字段名,这里我们把 city 映射到了底层的 details.city 这个嵌套的字段。我们来查一下试试:
mysql> select * from Ha; +------+-------+------+----------+ | id | name | age | city | +------+-------+------+----------+ | 1 | james | 1 | hangzhou | +------+-------+------+----------+
搞定!
总结
这篇文章给大家介绍了一下怎么利用DLA去直接查询MongoDB里面的嵌套字段,在这个功能出现之前,我们只能把整个嵌套字段映射成一个string字段,然后利用json函数把要查询的具体嵌套字段拆解出来,有了这个功能之后,查询MongoDB嵌套字段会更方便,更高效。
Happy DLAing
欢迎关注数据湖技术社区
数据湖开发者社区由 阿里云开发者社区 与 阿里云Data Lake Analytics团队 共同发起,致力于推广数据湖相关技术,包括hudi、delta、spark、presto、oss、元数据、存储加速、格式发现等,学习如何构建数据湖分析系统,打造适合业务的数据架构。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
基于弹性计算的AI推理
场景描述 本方案适用于使用GPU进行AI在线推理的场景。在推理之前,模型已经训练完成。例如,刷脸支付中,我们在刷脸的时候,就是推理的一个过程。再比如图像分类,目标检测,语音识别,语义分析等返回结果的过程。 解决问题 使用GPU云服务器搭建推理环境 使用容器服务Kubernetes版构建推理环境 使用NAS存储模型数据 使用飞天AI加速推理工具加速推理 产品列表 GPU云服务器 容器服务Kubernetes版 NAS共享存储 直达最佳实践 》》
- 下一篇
小程序业务实时监控
场景描述 本方案主要解决如何基于阿里云服务为小程序快速部署实时监控,介绍了开通和配置相关产品以及查看安全防护效果的具体操作。适用小程序客户,前端可以支持微信小程序、支付宝小程序等。本实践提供简单的demo原型,帮助客户快速了解实时监控使用实践。 解决问题 在云上基于容器构建完整的微服务双活架构 利用堡垒机,避免非法直连核心资源,满足监管要求 大容量数据库,引入POLARDB 通过ARMS,实现对前端小程序和应用实时监控,提升使用体验,提高运维效率 平滑升级Redis集群,缓解高并发读写 产品列表 容器服务(ACK) 镜像服务 实时监控(ARMS) 高可用服务(AHAS) 对象存储(OSS) 云服务器(ECS) 数据库(RDS) 专有网络(VPC) 直达最佳实践 》》
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Mario游戏-低调大师作品
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS8编译安装MySQL8.0.19
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7