DATAX改造支持geometry类型数据同步

news2024/11/18 23:37:38

数据库使用postgresql安装了postgis插件存储了geometry空间数据,想使用datax做数据同步,但datax本身不支持geometry类型数据,如何改造呢?

1.首先下载已改造支持geometry类型的datax引擎,下载地址

https://download.csdn.net/download/letterss/88799803

 2.将下载的datax引擎解压,将plugin里面reader模块的postgresqlreader和wrtier模块的postgresqlwriter分别替换自己的引擎模块即可,如果只使用postgresql数据库,则不用替换直接使用下载的引擎。

3.测试

新建了两张表my_table,my_table_copy1

CREATE TABLE my_table (id SERIAL PRIMARY KEY, geom GEOMETRY);

CREATE TABLE my_table_copy1(id SERIAL PRIMARY KEY, geom GEOMETRY);

向my_table添加数据

INSERT INTO my_table (geom) VALUES ('POINT(0 0)'); 

查询数据显示如下

 

使用datax同步,dataxjson如下

{
	"job": {
		"setting": {
			"speed": {
				"channel": "6",
				"byte": "12242880"
			},
			"errorLimit": {
				"record": "5",
				"percentage": "0.02"
			}
		},
		"content": [{
			"reader": {
				"name": "postgresqlreader",
				"parameter": {
					"username": "XVko54UY9nOe/3JQGQUikw==",
					"password": "fMaKElymbiVDjjwluBXyhA==",
					"column": ["\"id\"", "\"geom\""],
					"splitPk": "",
					"connection": [{
						"table": ["public.my_table"],
						"jdbcUrl": ["jdbc:postgresql://localhost:5432/postgres"]
					}]
				}
			},
			"writer": {
				"name": "postgresqlwriter",
				"parameter": {
					"username": "XVko54UY9nOe/3JQGQUikw==",
					"password": "fMaKElymbiVDjjwluBXyhA==",
					"column": ["\"id\"", "\"geom\""],
					"preSql": ["truncate table public.my_table_copy1"],
					"connection": [{
						"table": ["public.my_table_copy1"],
						"jdbcUrl": "jdbc:postgresql://localhost:5432/postgres"
					}]
				}
			},
			"transformer": []
		}]
	}
}

 同步成功,可以看到my_table_copy1 geom字段也有数据了,且数据一致

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1428467.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《区块链简易速速上手小册》第5章:智能合约(2024 最新版)

文章目录 5.1 智能合约的概念5.1.1 智能合约的基础知识5.1.2 主要案例:去中心化金融(DeFi)平台5.1.3 拓展案例 1:智能合约在供应链管理中的应用5.1.4 拓展案例 2:智能合约在房地产交易中的应用 5.2 智能合约的应用案例…

函数重载你真的了解吗?

1.什么叫函数重载? 函数重载(Function Overloading)是指在同一个作用域内,允许定义多个具有相同名称但参数列表不同的函数。具体而言,函数重载允许你定义同名的函数,但这些函数应该有不同的参数类型、参数个…

代码随想录算法训练营Day44|完全背包理论基础、518.零钱兑换II、377. 组合总和 Ⅳ

目录 完全背包理论基础 完全背包问题 算法实现 518.零钱兑换II 前言 思路 377. 组合总和 Ⅳ 前言 思路 算法实现 总结 完全背包理论基础 题目链接 文章链接 完全背包问题 有N件物品和一个最多能背重量为W的背包。第i件物品的重量是weight[i],得到的价值是…

计网——应用层

应用层 应用层协议原理 网络应用的体系结构 客户-服务器(C/S)体系结构 对等体(P2P)体系结构 C/S和P2P体系结构的混合体 客户-服务器(C/S)体系结构 服务器 服务器是一台一直运行的主机,需…

springboot 整合 PowerJob实现定时任务调度

最近项目需要使用定时任务,而使用了PowerJob做任务调度模块,感觉这个框架真香,今天我们就来深入了解一下新一代的定时任务框架——PowerJob! 简介 PowerJob是基于java开发的企业级的分布式任务调度平台,与xxl-job一样…

关于破解IDEA后启动闪退的问题

问题描述:2023.1启动不了,双击桌面图标,没有响应。 解决办法: 打开C:\Users\c\AppData\Roaming\JetBrains\IntelliJIdea2023.1\idea64.exe.vmoptions 这个文件。 内容如下所示: 删除红框的数据以后,再登录…

ARM架构可视化ROS消息方案部署

ARM架构可视化ROS消息方案部署 三种方案, 1. webviz 2. foxglove 3. rosviz 注: web要用firefox, chromimum用不了, 可能是因为取消了时间同步机制的原因 先说三种方案的优劣, webviz 延迟比较高, 但是部署相对简单, foxglove 部署比较费劲, 但是效果不错, 延迟低, 本文会尽…

MySQL篇----第二篇

系列文章目录 文章目录 系列文章目录前言一、MyIASM二、Memory三、数据库引擎有哪些前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 一、MyIASM MyIASM是 MySQL默…

Dash :一个超漂亮的 python Web库!

你好,Dash 是一个非常方便的 Python 库,它可以非常非常帮助你构建基于 Web 的应用程序,而且最棒的是你无需使用 JavaScript! 不仅如此,Dash 还是一个专门用于创建分析 Web 应用程序的用户界面库。 如果你是一个使用 …

【Algorithms 4】算法(第4版)学习笔记 03 - 1.3 背包、队列和栈

文章目录 前言参考目录学习笔记0:预热1:栈1.1:栈的链表实现1.1.1 代码实现1.2:栈的数组实现1.2.1:定容栈1.2.2:可调整大小数组1.2.3:代码实现1.3:链表与数组的取舍2:队列…

Vue中的常用指令

一、常用指令 概念:指令(Directives)是 Vue 提供的带有 v- 前缀 的 特殊 标签属性。 为啥要学:提高程序员操作 DOM 的效率。 vue 中的指令按照不同的用途可以分为如下 6 大类: 内容渲染指令(v-html、v-t…

电脑风扇控制温度软件 Macs Fan Control Pro 中文

Macs Fan Control Pro是一款专为Mac用户设计的风扇控制软件,旨在提供更精细的风扇转速控制和温度监控。这款软件通过实时监测Mac内部硬件的温度,自动或手动调整风扇的转速,以确保系统温度保持在理想范围内。 Macs Fan Control Pro提供了直观…

使用gcc/g++查看C语言预处理,编译,汇编,连接,以及动静态库的区分

文章目录 使用gcc/ggcc如何完成编译后生成可执行文件?预处理(进行宏替换)编译(生成汇编)汇编(生成机器可识别代码)连接(生成可执行文件或库文件)最后记忆小技巧 在这里涉及到一个重要的概念&…

【Tomcat与网络2】一文理解Servlet是怎么工作的

在前面,我们研究了如何用idea来启动一个Servlet程序,今天我们就再来看一下Servlet是如何工作的。 目录 1.Servlet 介绍 2.Servlet 容器工作过程 3.Servlet的扩展 不管是电脑还是手机浏览器,发给服务端的就是一个 HTTP 格式的请求&#xf…

双非本科准备秋招(14.1)—— 力扣刷题

今天做两个有点难度的题。 1、295. 数据流的中位数 手写堆实现: 加入元素: 如何维护一个中位数?我们考虑一下堆的特点,大顶堆堆顶是一个最大值,小顶堆堆顶是一个最小值,那么,如果我们可以把数…

R语言学习case7:ggplot基础画图(核密度图)

step1: 导入ggplot2库文件 library(ggplot2)step2&#xff1a;带入自带的iris数据集 iris <- datasets::irisstep3&#xff1a;查看数据信息 dim(iris)维度为 [150,5] head(iris)查看数据前6行的信息 step4&#xff1a;画图展示 plot2 <- ggplot(iris,aes(Sepal.W…

踩坑STM32CubeMX生成Makefile工程无法使用printf(“%f“)

过去一年偶有接触STM32开发时都是使用STM32CubeMX生成Makefile的工程&#xff0c;具体开发环境见配置Clion用于STM32开发&#xff08;Makefile&#xff09;&#xff0c;但没想到今天在使用printf打印输出浮点数时无法正常输出&#xff0c;不仅printf无法使用&#xff0c;其他涉…

024 增强for循环

什么是增强for循环 用法 int[] arr {1,3,5,7,9}; for (int i : arr) {System.out.println(i); } 拓展 增强for不止用于数组&#xff0c;还可以用于集合。 增强for是for的偷懒写法&#xff0c;必定可以被for的写法的代替&#xff0c;但for不一定会被增强for代替。

【详细教程】Kubernetes集群部署:使用kubeadm创建集群

文章目录 一、虚拟机准备&#xff08;一&#xff09;主机基本配置&#xff08;二&#xff09;安装docker&#xff08;三&#xff09;配置cri-docker环境&#xff08;四&#xff09;安装kubeadm、kubelet、kubectl&#xff08;五&#xff09;克隆主机 二、环境配置工作&#xff…

扫盲软件开发工具低代码

目录 一、低代码是什么&#xff1f; 二、低代码平台的优势和劣势都是什么&#xff1f; 三、低代码操作方式 四、写在最后 一、低代码是什么&#xff1f; 低代码是一套可视化开发工具&#xff0c;它帮开发者把前后端基础功能写扎实&#xff0c;开发者只需要通过填表配置或拖…