ETL异构数据源Datax_使用querySql_08

青旅半醒 2022-10-09 03:08 247阅读 0赞

使用说明
当用户配置了这一项之后,DataX系统就会忽略table,column
这些配置型,直接使用这个配置项的内容对数据进行筛选,例
如需要进行多表join后同步数据,使用select a,b from table_a
join table_b on table_a.id = table_b.id
当用户配置querySql时,OracleReader/MysqlReader直接忽略
table、column、where条件的配置,querySql优先级大于
table、column、where选项。

文章目录

              1. 清空Oracle数据
              1. 构建json
              1. 执行脚本
              1. 同步验证
              1. 同步结果
1. 清空Oracle数据
  1. Truncate TABLE OTBS1;

在这里插入图片描述

2. 构建json
  1. vim querySql.json
  2. {
  3. "job": {
  4. "setting": {
  5. "speed": {
  6. "channel": 5
  7. },
  8. "errorLimit": {
  9. "record": 0,
  10. "percentage": 0.02
  11. }
  12. },
  13. "content": [
  14. {
  15. "reader": {
  16. "name": "mysqlreader",
  17. "parameter": {
  18. "connection": [
  19. {
  20. "querySql": [
  21. "select IDNO,COL1,COL2,COL3,DT,COL5,COL6,COL7,COL8,COL9,COL10 from otbs1 where IDNO <= 1000"
  22. ],
  23. "jdbcUrl": [
  24. "jdbc:mysql://127.0.0.1:3306/datax"
  25. ]
  26. }
  27. ],
  28. "username": "root",
  29. "password": "123456"
  30. }
  31. },
  32. "writer": {
  33. "name": "oraclewriter",
  34. "parameter": {
  35. "column": [
  36. "IDNO",
  37. "COL1",
  38. "COL2",
  39. "COL3",
  40. "DT",
  41. "COL5",
  42. "COL6",
  43. "COL7",
  44. "COL8",
  45. "COL9",
  46. "COL10"
  47. ],
  48. "connection": [
  49. {
  50. "jdbcUrl": "jdbc:oracle:thin:@192.xxx.xxx.xxx:1521:orcl",
  51. "table": [
  52. "DB.OTBS1"
  53. ]
  54. }
  55. ],
  56. "username": "username",
  57. "password": "password"
  58. }
  59. }
  60. }
  61. ]
  62. }
  63. }
3. 执行脚本
  1. python /app/datax/bin/datax.py /app/datax/job/querySql.json
4. 同步验证

在这里插入图片描述

5. 同步结果
  1. 2021-06-23 14:22:12.186 [job-0] INFO JobContainer -
  2. 任务启动时刻 : 2021-06-23 14:22:01
  3. 任务结束时刻 : 2021-06-23 14:22:12
  4. 任务总计耗时 : 10s
  5. 任务平均流量 : 6.14KB/s
  6. 记录写入速度 : 100rec/s
  7. 读出记录总数 : 1000
  8. 读写失败总数 : 0

发表评论

表情:
评论列表 (有 0 条评论,247人围观)

还没有评论,来说两句吧...

相关阅读