## DataX快速入门参考
> 官方https://github.com/alibaba/DataX/blob/master/userGuid.md
## 环境要求
> Linux
JDK(1.8以上,推荐1.8)
Python(推荐Python2.6.X)
Apache Maven 3.x (Compile DataX)

## 打包
mvn -U clean package assembly:assembly -Dmaven.test.skip=true
### 本地idea调用
> D:\pm\DataX\datax-core\src\main\job为测试脚本文件夹
1、job.json 为通过streamreader生成模拟数据,streamwriter用于输出
2、job_mysql_read_to_print.json 通过查询mysql数据,streamwriter用于输出
3、job_postgresql_to_mysql_read_write.json 通过查询postgresql数据,写入mysql
4、job_postgresql_to_postgresql_read_write.json 通过查询postgresql数据,写入postgresql
5、job_postgresql_to_postgresql_read_write_geom.json 通过查询postgresql数据,包含地理空间geometry类型数据,写入postgresql
## 数据包含geometry迁移
> DataX本身不满足迁移地理空间geometry类型数据迁移
* geometry类型数据迁移请移步 [geometry](https://t.zsxq.com/7MFqJIm)
* 在idea的Teminal执行以下脚本
~~~
D:\pm\DataX\datax-core\target\datax\bin>python datax.py ../job/job.json -m standalone

cd D:\pm\DataX\
python D:\pm\DataX\datax-core\target\datax\bin\datax.py D:\pm\DataX\datax-core\target\datax\job\job_pg_to_pg_xianzhuangjianzhu_geom_read_write.json -m standalone
~~~

## linux环境python 安装
### 下载
wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz

### 安装依赖
~~~ shell
yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y
~~~
### 解压
~~~ shell
tar -zxvf Python-3.8.0.tgz
~~~
### 切换目录
~~~
cd Python-3.8.0
~~~

### 编译安装
~~~
1.释放编译文件makefile,这makefile就是用来编译且安装的
./configure --prefix=/usr/local/soft/python380/ 注释:--prefix 指定软件的安装路径
2.开始编译
 make
3.编译且安装
make install
~~~
### 配置环境变量
~~~
1.vi /etc/profile
2.写在最后
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/soft/python380/bin
保存退出 :wq!
3.生效
source /etc/profile
~~~
### 如有必要更新pip
~~~
pip3 install --upgrade pip
~~~
## window环境python 安装
> python以及idea插件安装请自行百度

## JDK1.8安装

~~~
yum install java-1.8.0-openjdk\* -y
~~~

## DataX 使用

### 方法一
> 下载 http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz

> cd {YOUR_DATAX_HOME}/bin
python datax.py {YOUR_JOB.json}

> 自检脚本:
python {YOUR_DATAX_HOME}/bin/datax.py {YOUR_DATAX_HOME}/job/job.json

### 方法二
> 下载DataX源码,自己编译
* (1)、下载DataX源码:
> git clone git@github.com:alibaba/DataX.git
* 通过maven打包:
> $ cd {DataX_source_code_home}
$ mvn -U clean package assembly:assembly -Dmaven.test.skip=true
打包成功后的DataX包位于 {DataX_source_code_home}/target/datax/datax/
* 第二步:启动DataX
> $ cd {YOUR_DATAX_DIR_BIN}
$ python datax.py ./stream2stream.json

## 问题
### 字段类型问题
> postgresql "geom" "public"."geometry"
因为DataX 不支持数据库读取这种字段类型. 字段名:[geom], 字段名称:[1111], 字段Java类型:[java.lang.Object]. 请尝试使用数据库函数将其转换datax支持的类型 或者不同步该字段
因为DataX 不支持数据库写入这种字段类型. 字段名:[geom], 字段类型:[1111], 字段Java类型:[geometry]. 请修改表中该字段的类型或者不同步该字段

> 您的配置文件中的列配置信息有误. 因为DataX 不支持数据库读取这种字段类型. 字段名:[%s], 字段名称:[%s], 字段Java类型:[%s]. 请尝试使用数据库函数将其转换datax支持的类型 或者不同步该字段 .
* geometry类型数据迁移请移步 [geometry](https://t.zsxq.com/7MFqJIm)

##效果对比
* 通过DataX本地运行,迁移postgresql 包含geometry空间类型数据1088270条,用时1111s

通道数量 : 8
任务启动时刻 : 2019-12-09 12:52:02
任务结束时刻 : 2019-12-09 13:10:34
任务总计耗时 : 1111s
任务平均流量 : 517.35KB/s
记录写入速度 : 980rec/s
读出记录总数 : 1088270
读写失败总数 : 0

* 通过Navacat复制数据表,迁移postgresql 包含geometry空间类型数据1088270条,用时1917.623s

## geometry类型数据迁移
* geometry类型数据迁移请移步 [geometry](https://t.zsxq.com/7MFqJIm)
![geometry](https://img2018.cnblogs.com/blog/371047/201912/371047-20191209152817831-1477643829.webp)

> 本文由作者pm1280415703:JAVA实验手册 发布,交流群:583284584!

千万级数据迁移工具DataX实践和geom类型扩展的更多相关文章

  1. mysql 千万级数据查询效率实践,分析 mysql查询优化实践--本文只做了一部分,仅供参考

    数据量, 1300万的表加上112万的表 注意: 本文只做了部分优化,并不全面,仅供参考, 欢迎指点.   请移步tim查看,因为写的时候在tim写的,粘贴过来截图有问题,就直接上链接了. https ...

  2. 转载自lanceyan: 一致性hash和solr千万级数据分布式搜索引擎中的应用

    一致性hash和solr千万级数据分布式搜索引擎中的应用 互联网创业中大部分人都是草根创业,这个时候没有强劲的服务器,也没有钱去买很昂贵的海量数据库.在这样严峻的条件下,一批又一批的创业者从创业中获得 ...

  3. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(37)-文章发布系统④-百万级数据和千万级数据简单测试

    原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(37)-文章发布系统④-百万级数据和千万级数据简单测试 系列目录 我想测试EF在一百万条数据下的显示时间! ...

  4. mysql千万级数据量查询出所有重复的记录

    查询重复的字段需要创建索引,多个条件则创建组合索引,各个条件的索引都存在则不必须创建组合索引 有些情况直接使用GROUP BY HAVING则能直接解决:但是有些情况下查询缓慢,则需要使用下面其他的方 ...

  5. MySQL百万级、千万级数据多表关联SQL语句调优

    本文不涉及复杂的底层数据结构,通过explain解释SQL,并根据可能出现的情况,来做具体的优化,使百万级.千万级数据表关联查询第一页结果能在2秒内完成(真实业务告警系统优化结果).希望读者能够理解S ...

  6. 如何优化Mysql千万级快速分页,limit优化快速分页,MySQL处理千万级数据查询的优化方案

    如何优化Mysql千万级快速分页,limit优化快速分页,MySQL处理千万级数据查询的优化方案

  7. MySQL千万级数据分区存储及查询优化

    作为传统的关系型数据库,MySQL因其体积小.速度快.总体拥有成本低受到中小企业的热捧,但是对于大数据量(百万级以上)的操作显得有些力不从心,这里我结合之前开发的一个web系统来介绍一下MySQL数据 ...

  8. Mysql千万级数据删除实操-企业案例

    某天,在生产环节中,发现一个定时任务表,由于每次服务区查询这个表就会造成慢查询,给mysql服务器带来不少压力,经过分析,该表中绝对部分数据是垃圾数据 需要删除,约1050万行,由于缺乏处理大数据的额 ...

  9. 完全用nosql轻松打造千万级数据量的微博系统(转)

    原文:http://www.cnblogs.com/imxiu/p/3505213.html 其实微博是一个结构相对简单,但数据量却是很庞大的一种产品.标题所说的是千万级数据量 也并不是一千万条微博信 ...

随机推荐

  1. Java并发编程系列-(5) Java并发容器

    5 并发容器 5.1 Hashtable.HashMap.TreeMap.HashSet.LinkedHashMap 在介绍并发容器之前,先分析下普通的容器,以及相应的实现,方便后续的对比. Hash ...

  2. SpringBoot系列之集成Mybatis教程

    SpringBoot系列之集成Mybatis教程 环境准备:IDEA + maven 本博客通过例子的方式,介绍Springboot集成Mybatis的两种方法,一种是通过注解实现,一种是通过xml的 ...

  3. Dubbo加权轮询负载均衡的源码和Bug,了解一下?

    本文是对于Dubbo负载均衡策略之一的加权随机算法的详细分析.从2.6.4版本聊起,该版本在某些情况下存在着比较严重的性能问题.由问题入手,层层深入,了解该算法在Dubbo中的演变过程,读懂它的前世今 ...

  4. 【Gitlab】371- GitLab从安装到全自动化备份一条龙

    原文地址[1]欢迎star 需求 1.在新服务器上安装并搭建好gitlab2.手动+自动将旧服务器上的gitlab备份3.手动+自动将gitlab备份包scp到新服务器上4.手动+自动恢复新服务器上的 ...

  5. HTTP 错误 500.19 - Internal Server Error 错误代码 0x80070005 由于权限不足而无法读取配置文件

    HTTP 错误 500.19 - Internal Server Error 无法访问请求的页面,因为该页的相关配置数据无效. 模块 IIS Web Core 通知 未知 处理程序 尚未确定 错误代码 ...

  6. 在 VSCode 中 Angular 的字符串报错的问题

    使用 Angular 时,报错 [tslint] " should be ' 报错原因是因为 ESLint 的严格模式,限制了使用 ' ,甚至多一个空格都会报错. 我们只需要在 settin ...

  7. 表达式和运算符知识总结(js)

    文章目录: 一. 表达式和语句的区别 二. 自增自减运算符的运算规则 一. 表达式和语句的区别 表达式(expression)是JavaScript中的一个短语,JavaScript解释器会将其计算( ...

  8. adb shell常用命令

    一.文件操作相关命令 1.文件操作命令 子命令 参数 说明 cd 无 进入目录 cat [-beflnstuv] [-B bsize] [file...] 查看文件内容-n:显示行号-b:显示行号,但 ...

  9. day04逻辑运算符短路、多分支结构(if和switch)、循环结构、while循环

    复习 1.运算符和表达式 1)表达式 2)算数运算符 + - * / % 3)关系运算符 >  <  >=  <=  ==  != 4)逻辑运算符 &&   | ...

  10. CSDN不限积分代下载,知网、万方、sci、IEEE论文代下载,智慧树、超星尔雅刷课

    下载内容: 1.CSDN不限积分代下载. 2.知网.万方.sci.IEEE论文代下载. 3.超星尔雅,智慧树刷课. 注:由于本人手抖买一个CSDN会员,想挽回一点损失,所以创立了一个下载群,绝对不是骗 ...