DataWorks百问百答34:mongoDB同步odps实践时如何使用时间戳筛选数据?

简介: mongoDB同步odps实践及使用时间戳筛选数据

情景:mongoDB数据集成任务query配置参数中不能支持.valueOf()这个方法(形如"query":"{'operationTime':{'$gte':ISODate('${last_day}T00:00:00.424Z.valueOf()')}}" bson解析不出)


以下我们使用赋值节点+数据集成节点进行时间戳值的实现:

1.新建赋值节点,并向下游传出unixtime时间戳数值:(赋值节点内选择odps sql节点或者shell节点均可实现向下游传值。更多赋值节点内容请参见:https://help.aliyun.com/document_detail/137534.html?spm=a2c4g.11186631.6.778.62b06158yTpLAN
dataworks34-4.png


这样我们使用unix_timestamp函数将设置的定时周期的时间转成了一个时间戳并传向下游数据集成节点。关于参数的配置、使用、如何获取到想要的时间值,请参见文档链接:https://help.aliyun.com/document_detail/137548.html?spm=5176.11065259.1996646101.searchclickresult.73481a65zOfzvM

2.下游数据集成节点配置本节点输入参数来接赋值节点的传入的值:(这里我们使用input(名称可自定义))
调度配置引入上游赋值:
dataworks34-3.png


这样就可以接到上游赋值节点传入的时间戳并在数据集成json配置内部使用参数替换需要用到的时间戳。

3.本数据集成任务的功能:查询出mongoDB中u6字段值大于传入的时间戳的值后将数据同步到odps表中。
odps表结构:字段类型、名称等均可自定义
(create table mongo_uni_odp3(userId string,uclass string,name STRING ,age bigint,email string,birthday string,datastatus STRING,u6 string);)


mongoDB数据结构:
dataworks34-2.png


json配置一览:
dataworks34-1.png




完整的数据集成配置json:mongoDB==>odps
{
"type": "job",
"steps": [
{
"stepType": "mongodb",

"parameter": {
"datasource": "wpw_test_mongo",
"query":"{'u6':{'$gte':'${input}'}}",


"column": [
{
"name": "userId",
"type": "string"
},
{
"name": "uclass",
"type": "string"
},
{
"name": "name",
"type": "string"
},
{
"name": "age",
"type": "int"
},
{
"name": "email",
"type": "string"
},
{
"name": "birthday",
"type": "string"
},
{
"name": "datastatus",
"type": "string"
},
{
"name": "u6",
"type": "string"
}
],
"collectionName": "wpw_test_collec"
},
"name": "Reader",
"category": "reader"
},
{
"stepType": "odps",
"parameter": {
"partition": "",
"truncate": true,
"datasource": "odps_first",
"column": [
"userId",
"uclass",
"name",
"age",
"email",
"birthday",
"datastatus",
"u6"
],
"emptyAsNull": false,
"table": "mongo_uni_odp3"
},
"name": "Writer",
"category": "writer"
}
],
"version": "2.0",
"order": {
"hops": [
{
"from": "Reader",
"to": "Writer"
}
]
},
"setting": {
"errorLimit": {
"record": "0"
},
"speed": {
"throttle": false,
"concurrent": 1
}
}
}

任务运行后即可在odps表中查看同步的数据了。

DataWorks百问百答历史记录 请点击这里查看>>

更多DataWorks技术和产品信息,欢迎加入【DataWorks钉钉交流群】

相关实践学习
基于Hologres轻量实时的高性能OLAP分析
本教程基于GitHub Archive公开数据集,通过DataWorks将GitHub中的项⽬、行为等20多种事件类型数据实时采集至Hologres进行分析,同时使用DataV内置模板,快速搭建实时可视化数据大屏,从开发者、项⽬、编程语⾔等多个维度了解GitHub实时数据变化情况。
相关文章
|
DataWorks 搜索推荐 数据挖掘
DataWorks: 驾驭数据浪潮,解锁用户画像分析新纪元
本文详细评测了DataWorks产品,涵盖最佳实践、用户体验、与其他工具对比及Data Studio新功能。内容涉及用户画像分析、数据管理作用、使用过程中的问题与改进建议,以及Data Studio的新版Notebook环境和智能助手Copilot的体验。整体评价肯定了DataWorks在数据处理和分析上的优势,同时也指出了需要优化的地方。
568 24
|
数据采集 DataWorks 数据挖掘
提升数据分析效率:DataWorks在企业级数据治理中的应用
【8月更文第25天】本文将探讨阿里巴巴云的DataWorks平台如何通过建立统一的数据标准、规范以及实现数据质量监控和元数据管理来提高企业的数据分析效率。我们将通过具体的案例研究和技术实践来展示DataWorks如何简化数据处理流程,减少成本,并加速业务决策。
1071 54
|
数据采集 人工智能 DataWorks
限时优惠体验!DataWorks数据治理中心全新升级为数据资产治理
DataWorks进行全面升级,从数据治理中心转型为数据资产治理,强调业务视角下的数据分类与管理,引入Data+AI全链路数据血缘追踪,提升数据质量和安全性,促进跨部门协作。同时,提供限时优惠活动,助力企业高效利用数据资产。
1481 2
|
C# UED 开发者
WPF与性能优化:掌握这些核心技巧,让你的应用从卡顿到丝滑,彻底告别延迟,实现响应速度质的飞跃——从布局到动画全面剖析与实例演示
【8月更文挑战第31天】本文通过对比优化前后的方法,详细探讨了提升WPF应用响应速度的策略。文章首先分析了常见的性能瓶颈,如复杂的XAML布局、耗时的事件处理、不当的数据绑定及繁重的动画效果。接着,通过具体示例展示了如何简化XAML结构、使用后台线程处理事件、调整数据绑定设置以及利用DirectX优化动画,从而有效提升应用性能。通过这些优化措施,WPF应用将更加流畅,用户体验也将得到显著改善。
1779 1
|
10月前
|
机器学习/深度学习 传感器 分布式计算
数据才是真救命的:聊聊如何用大数据提升灾难预警的精准度
数据才是真救命的:聊聊如何用大数据提升灾难预警的精准度
637 14
|
12月前
|
数据采集 分布式计算 DataWorks
ODPS在某公共数据项目上的实践
本项目基于公共数据定义及ODPS与DataWorks技术,构建一体化智能化数据平台,涵盖数据目录、归集、治理、共享与开放六大目标。通过十大子系统实现全流程管理,强化数据安全与流通,提升业务效率与决策能力,助力数字化改革。
411 4
|
12月前
|
分布式计算 DataWorks 数据处理
在数据浪潮中前行:记录一次我与ODPS的实践、思考与展望
本文详细介绍了在 AI 时代背景下,如何利用阿里云 ODPS 平台(尤其是 MaxCompute)进行分布式多模态数据处理的实践过程。内容涵盖技术架构解析、完整操作流程、实际部署步骤以及未来发展方向,同时结合 CSDN 博文深入探讨了多模态数据处理的技术挑战与创新路径,为企业提供高效、低成本的大规模数据处理方案。
503 3
|
11月前
|
机器学习/深度学习 运维 监控
运维不怕事多,就怕没数据——用大数据喂饱你的运维策略
运维不怕事多,就怕没数据——用大数据喂饱你的运维策略
1064 0
|
10月前
|
传感器 人工智能 监控
数据下田,庄稼不“瞎种”——聊聊大数据如何帮农业提效
数据下田,庄稼不“瞎种”——聊聊大数据如何帮农业提效
304 14
|
10月前
|
机器学习/深度学习 传感器 监控
吃得安心靠数据?聊聊用大数据盯紧咱们的餐桌安全
吃得安心靠数据?聊聊用大数据盯紧咱们的餐桌安全
316 1

相关产品

  • 大数据开发治理平台 DataWorks