使用Dataworks同步Elasticsearch至MaxCompute 日期类型为\N的解决办法-阿里云开发者社区

开发者社区> 大数据> 正文

使用Dataworks同步Elasticsearch至MaxCompute 日期类型为\N的解决办法

简介: Dataworks同步阿里云ES到MaxCompute中时间格式为/N的解决方案

问题背景:

如果ES的数据存在日期类型,并且ES的日期类型本身没有dateFormat的话,同步到MaxCompute默认是空值。

如图:

image

解决办法:

需要在elasticsearch Reader中增加dateFormat属性,格式和要同步的ES日期格式一致就可以了。
如:

{
    "type": "job",
    "steps": [
        {
            "stepType": "elasticsearch",
            "parameter": {
                "search": "",
                "endpoint": "http://阿里云es地址:9200",
                "password": "密码",
                "dateFormat": "yyyy-MM-dd'T'HH:mm:ss.SSSZZ",
                "retryCount": 3,
                "column": [
                    "created_time"
                ],
                "scroll": "1m",
                "index": "odpstest",
                "type": "doc",
                "username": "elastic"
            },
            "name": "Reader",
            "category": "reader"
        },
        {
            "stepType": "odps",
            "parameter": {
                "partition": "",
                "truncate": true,
                "datasource": "odps_first",
                "column": [
                    "time"
                ],
                "emptyAsNull": false,
                "table": "testtime2"
            },
            "name": "Writer",
            "category": "writer"
        }
    ],
    "version": "2.0",
    "order": {
        "hops": [
            {
                "from": "Reader",
                "to": "Writer"
            }
        ]
    },
    "setting": {
        "errorLimit": {
            "record": ""
        },
        "speed": {
            "throttle": false,
            "concurrent": 2
        }
    }
}

测试结果:
image

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
大数据
使用钉钉扫一扫加入圈子
+ 订阅

大数据计算实践乐园,近距离学习前沿技术

其他文章