全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网
DataWorks(数据工场)

使用shell执行datax任务

更新时间:2017-06-07 13:26:11

  1. 如果没有配置好shell环境,请参考此链接的文档:Q:怎么顺利执行Shell/MR类型任务

  2. 配置完成后,在shell节点填写代码。可以参考下面的demo代码

    • 代码说明
      1. 生成临时datax配置文件(您只需要修改配置文件内容即可,其他不用更改。参考文档:https://github.com/alibaba/DataX/wiki/Quick-Start
      2. 读取调度参数,分别为$1, $2
        • ${bdp.system.bizdate},${bdp.system.cyctime} 不需要配置,具体含义参考:系统参数
      3. 执行datax任务,进行数据同步
      4. 删除临时文件
      5. 判断任务成功失败,进行返回。0代表成功
  1. #!/bin/bash
  2. #********************************************************************#
  3. ##author:yixiao streamreader->streamwriter
  4. ##create time:2016-03-28 10:00:00
  5. #********************************************************************#
  6. shell_datax_home='/home/admin/shell_datax'
  7. mkdir -p ${shell_datax_home}
  8. shell_datax_config=${shell_datax_home}/${ALISA_TASK_ID}
  9. echo '''
  10. {
  11. "job": {
  12. "setting": {
  13. "speed": {
  14. "channel": 1
  15. },
  16. "errorLimit": {
  17. "record": 0,
  18. "percentage": 0.02
  19. }
  20. },
  21. "content": [
  22. {
  23. "reader": {
  24. "name": "streamreader",
  25. "parameter": {
  26. "column": [
  27. {
  28. "value": "${bdp.system.bizdate}",
  29. "type": "string"
  30. },
  31. {
  32. "value": "${bdp.system.cyctime}",
  33. "type": "string"
  34. },
  35. {
  36. "value": "${params1}__${params2}",
  37. "type": "string"
  38. },
  39. {
  40. "value": 19890427,
  41. "type": "long"
  42. },
  43. {
  44. "value": "1989-06-04 00:00:00",
  45. "type": "date"
  46. },
  47. {
  48. "value": true,
  49. "type": "bool"
  50. },
  51. {
  52. "value": "test",
  53. "type": "bytes"
  54. }
  55. ],
  56. "sliceRecordCount": 10
  57. }
  58. },
  59. "writer": {
  60. "name": "streamwriter",
  61. "parameter": {
  62. "print": true,
  63. "encoding": "UTF-8"
  64. }
  65. }
  66. }
  67. ]
  68. }
  69. }
  70. ''' > ${shell_datax_config}
  71. params1=$1
  72. params2=$2
  73. datax_params='-p "-Dparams1=${params1} -Dparams2=${params2}"'
  74. echo "`date '+%Y-%m-%d %T'` shell datax config: ${shell_datax_config}"
  75. echo "`date '+%Y-%m-%d %T'` shell datax params: -p \"-Dparams1=${params1} -Dparams2=${params2}\""
  76. /home/admin/datax3/bin/datax.py ${shell_datax_config} -p "-Dparams1=${params1} -Dparams2=${params2}"
  77. shell_datax_run_result=$?
  78. rm ${shell_datax_config}
  79. if [${shell_datax_run_result} -ne 0]
  80. then
  81. echo "`date '+%Y-%m-%d %T'` shell datax ended failed :("
  82. exit -1
  83. fi
  84. echo "`date '+%Y-%m-%d %T'` shell datax ended success~"

3。 调度系统配置参数

参数配置

本文导读目录