dataworks同步maxcompute数据到ES,geo_point 类型写入测试

本文涉及的产品
大数据开发治理平台DataWorks,资源组抵扣包 750CU*H
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: dataworks同步maxcompute数据到ES,geo_point 类型写入测试

一、问题背景


使用 dataworks同步maxcompute数据到ES的时候,目标端用到geo_point类型字段是报错:

"error":{"type":"mapper_parsing_exception","reason":"failed to parse field [location] of type [geo_point]","caused_by":{"type":"parse_exception","reason":"latitude must be a number"


本文通过测试详细描述,同步该类型字段,源端和目标端应该怎么配置


二  、测试步骤


(一)环境准备


1 源端,使用默认的odps数据源


2 目标端,使用6.7.0版本的es实例


数据源连通性已经确认连通


(二)数据准备

1、在mc侧创建源表

create table toes(idd int ,location1 STRING  );


2、在es侧创建目标索引

PUT /product_info
{
  "settings": {
    "number_of_shards": 3,
    "number_of_replicas": 1
  },
  "mappings": {
    "mytype": {
      "properties": {
        "location": {
          "type": "geo_point"        }
      }
    }}
}


3、同步数据配置

{
    "type": "job",
    "version": "2.0",
    "steps": [
        {
            "stepType": "odps",
            "parameter": {
                "partition": [],
                "datasource": "odps_first",
                "envType": 0,
                "isSupportThreeModel": false,
                "column": [
                    "location1"
                ],
                "tableComment": "",
                "table": "toes"
            },
            "name": "Reader",
            "category": "reader"
        },
        {
            "stepType": "elasticsearch",
            "parameter": {
                "actionType": "index",
                "indexType": "mytype",
                "cleanup": false,
                "datasource": "elastic_test",
                "envType": 0,
                "discovery": false,
                "column": [
                    {
                        "name": "location",
                        "type": "geo_point"
                    }
                ],
                "index": "product_info",
                "primaryKeyInfo": {
                    "type": "nopk",
                    "fieldDelimiter": ","
                },
                "dynamic": false,
                "batchSize": 1024,
                "splitter": ","
            },
            "name": "Writer",
            "category": "writer"
        },
        {
            "copies": 1,
            "parameter": {
                "nodes": [],
                "edges": [],
                "groups": [],
                "version": "2.0"
            },
            "name": "Processor",
            "category": "processor"
        }
    ],
    "setting": {
        "errorLimit": {
            "record": ""
        },
        "locale": "zh",
        "speed": {
            "throttle": false,
            "concurrent": 1
        }
    },
    "order": {
        "hops": [
            {
                "from": "Reader",
                "to": "Writer"
            }
        ]
    }
}


三、测试结果


1、在源端插入测试数据

insert into  toes values(1,"11.55555,11.11111"),(2,"[22.55555,22.11111]");
select * from toes;


2、在目标端查询数据

GET /product_info/_search


四、问题总结


1  如上测试总结,在源端的数据源类型为string类型,并且数据写入时是正常的两个数字,既可被识别到。


如下的数据,如在源端加了 []  "" 等符号,都会被识别失败。


2  elasticsearch writer参考:https://help.aliyun.com/document_detail/137770.html

相关实践学习
基于Hologres轻量实时的高性能OLAP分析
本教程基于GitHub Archive公开数据集,通过DataWorks将GitHub中的项⽬、行为等20多种事件类型数据实时采集至Hologres进行分析,同时使用DataV内置模板,快速搭建实时可视化数据大屏,从开发者、项⽬、编程语⾔等多个维度了解GitHub实时数据变化情况。
相关文章
|
11月前
|
SQL 消息中间件 分布式计算
大数据-124 - Flink State 01篇 状态原理和原理剖析:状态类型 执行分析
大数据-124 - Flink State 01篇 状态原理和原理剖析:状态类型 执行分析
213 5
|
10月前
|
存储 算法 C语言
用C语言开发游戏的实践过程,包括选择游戏类型、设计游戏框架、实现图形界面、游戏逻辑、调整游戏难度、添加音效音乐、性能优化、测试调试等内容
本文探讨了用C语言开发游戏的实践过程,包括选择游戏类型、设计游戏框架、实现图形界面、游戏逻辑、调整游戏难度、添加音效音乐、性能优化、测试调试等内容,旨在为开发者提供全面的指导和灵感。
396 2
|
10月前
|
Web App开发 定位技术 iOS开发
Playwright 是一个强大的工具,用于在各种浏览器上测试应用,并模拟真实设备如手机和平板。通过配置 `playwright.devices`,可以轻松模拟不同设备的用户代理、屏幕尺寸、视口等特性。此外,Playwright 还支持模拟地理位置、区域设置、时区、权限(如通知)和配色方案,使测试更加全面和真实。例如,可以在配置文件中设置全局的区域设置和时区,然后在特定测试中进行覆盖。同时,还可以动态更改地理位置和媒体类型,以适应不同的测试需求。
Playwright 是一个强大的工具,用于在各种浏览器上测试应用,并模拟真实设备如手机和平板。通过配置 `playwright.devices`,可以轻松模拟不同设备的用户代理、屏幕尺寸、视口等特性。此外,Playwright 还支持模拟地理位置、区域设置、时区、权限(如通知)和配色方案,使测试更加全面和真实。例如,可以在配置文件中设置全局的区域设置和时区,然后在特定测试中进行覆盖。同时,还可以动态更改地理位置和媒体类型,以适应不同的测试需求。
808 1
|
11月前
|
算法 大数据 数据库
云计算与大数据平台的数据库迁移与同步
本文详细介绍了云计算与大数据平台的数据库迁移与同步的核心概念、算法原理、具体操作步骤、数学模型公式、代码实例及未来发展趋势与挑战。涵盖全量与增量迁移、一致性与异步复制等内容,旨在帮助读者全面了解并应对相关技术挑战。
313 3
|
11月前
|
存储 分布式计算 NoSQL
大数据-40 Redis 类型集合 string list set sorted hash 指令列表 执行结果 附截图
大数据-40 Redis 类型集合 string list set sorted hash 指令列表 执行结果 附截图
97 3
|
11月前
|
消息中间件 分布式计算 NoSQL
大数据-41 Redis 类型集合(2) bitmap位操作 geohash空间计算 stream持久化消息队列 Z阶曲线 Base32编码
大数据-41 Redis 类型集合(2) bitmap位操作 geohash空间计算 stream持久化消息队列 Z阶曲线 Base32编码
112 2
|
机器学习/深度学习 分布式计算 大数据
Spark 适合解决多种类型的大数据处理问题
【9月更文挑战第1天】Spark 适合解决多种类型的大数据处理问题
244 3
|
Web App开发 jenkins 测试技术
Selenium 支持的不同测试类型
【8月更文挑战第27天】
130 5
|
11月前
|
消息中间件 NoSQL Kafka
大数据-116 - Flink DataStream Sink 原理、概念、常见Sink类型 配置与使用 附带案例1:消费Kafka写到Redis
大数据-116 - Flink DataStream Sink 原理、概念、常见Sink类型 配置与使用 附带案例1:消费Kafka写到Redis
695 0
|
数据采集 DataWorks 安全
DataWorks产品使用合集之如何判断数据库类型是否支持整库
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
133 2