1. 程式人生 > >win10 安裝DataX

win10 安裝DataX

1.資源準備

   JDK1.8

   Python2.7

   DataX(點選下載

2.環境變數配置(以自己安裝目錄為準)

   %DATAX_HOME%\bin

   D:\Program Files\Python27\

   D:\Program Files\Java\jdk1.8.0_131\bin

3.在cmd視窗中輸入CHCP 65001 防止中文亂碼

4.測試(從stream讀取資料並列印到控制檯)

 a、檢視模板

  cd    %DATAX_HOME%\bin

    python datax.py -r streamreader -w streamwriter

會顯示如下內容

DataX (DATAX-OPENSOURCE-3.0), From Alibaba !
Copyright (C) 2010-2017, Alibaba Group. All Rights Reserved.


Please refer to the streamreader document:
     https://github.com/alibaba/DataX/blob/master/streamreader/doc/streamreader.md

Please refer to the streamwriter document:
     https://github.com/alibaba/DataX/blob/master/streamwriter/doc/streamwriter.md

Please save the following configuration as a json file and  use
     python {DATAX_HOME}/bin/datax.py {JSON_FILE_NAME}.json
to run the job.

{
    "job": {
        "content": [
            {
                "reader": {
                    "name": "streamreader",
                    "parameter": {
                        "column": [],
                        "sliceRecordCount": ""
                    }
                },
                "writer": {
                    "name": "streamwriter",
                    "parameter": {
                        "encoding": "",
                        "print": true
                    }
                }
            }
        ],
        "setting": {
            "speed": {
                "channel": ""
            }
        }
    }
}

 

b、書寫配置檔案

     檔名:stream2stream.json 

內容如下:

{
  "job": {
    "content": [
      {
        "reader": {
          "name": "streamreader",
          "parameter": {
            "sliceRecordCount": 10,
            "column": [
              {
                "type": "String",
                "value": "helle DataX"
              },
              {
                "type": "string",
                "value": "你吃完晚飯了嗎?"
              },
              {
                "type": "string",
                "value": "不要在寫程式碼了,太累了"
              }
            ]
          }
        },
        "writer": {
          "name": "streamwriter",
          "parameter": {
            "encoding": "GBK",
            "print": true
          }
        }
      }
    ],
    "setting": {
      "speed": {
        "channel": 5
       }
    }
  }
}

c.執行配置檔案

python datax.py ./steam2stream.json

會出現如下結果:

  

DataX (DATAX-OPENSOURCE-3.0), From Alibaba !
Copyright (C) 2010-2017, Alibaba Group. All Rights Reserved.


2018-09-17 20:18:48.235 [main] INFO  VMInfo - VMInfo# operatingSystem class => sun.management.OperatingSystemImpl
2018-09-17 20:18:48.242 [main] INFO  Engine - the machine info  =>

        osInfo: Oracle Corporation 1.8 25.131-b11
        jvmInfo:        Windows 10 x86 10.0
        cpu num:        8

        totalPhysicalMemory:    -0.00G
        freePhysicalMemory:     -0.00G
        maxFileDescriptorCount: -1
        currentOpenFileDescriptorCount: -1

        GC Names        [PS MarkSweep, PS Scavenge]

        MEMORY_NAME                    | allocation_size                | init_size
        PS Eden Space                  | 256.25MB                       | 256.25MB
        Code Cache                     | 240.00MB                       | 2.25MB
        PS Survivor Space              | 42.50MB                        | 42.50MB
        PS Old Gen                     | 682.75MB                       | 682.75MB
        Metaspace                      | -0.00MB                        | 0.00MB


2018-09-17 20:18:48.270 [main] INFO  Engine -
{
        "content":[
                {
                        "reader":{
                                "name":"streamreader",
                                "parameter":{
                                        "column":[
                                                {
                                                        "type":"String",
                                                        "value":"helle DataX"
                                                },
                                                {
                                                        "type":"string",
                                                        "value":"你吃完晚飯了嗎?"
                                                },
                                                {
                                                        "type":"string",
                                                        "value":"不要在寫程式碼了,太累了"
                                                }
                                        ],
                                        "sliceRecordCount":10
                                }
                        },
                        "writer":{
                                "name":"streamwriter",
                                "parameter":{
                                        "encoding":"GBK",
                                        "print":true
                                }
                        }
                }
        ],
        "setting":{
                "speed":{
                        "channel":5
                }
        }
}

2018-09-17 20:18:48.289 [main] WARN  Engine - prioriy set to 0, because NumberFormatException, the value is: null
2018-09-17 20:18:48.292 [main] INFO  PerfTrace - PerfTrace traceId=job_-1, isEnable=false, priority=0
2018-09-17 20:18:48.292 [main] INFO  JobContainer - DataX jobContainer starts job.
2018-09-17 20:18:48.295 [main] INFO  JobContainer - Set jobId = 0
2018-09-17 20:18:48.325 [job-0] INFO  JobContainer - jobContainer starts to do prepare ...
2018-09-17 20:18:48.326 [job-0] INFO  JobContainer - DataX Reader.Job [streamreader] do prepare work .
2018-09-17 20:18:48.335 [job-0] INFO  JobContainer - DataX Writer.Job [streamwriter] do prepare work .
2018-09-17 20:18:48.336 [job-0] INFO  JobContainer - jobContainer starts to do split ...
2018-09-17 20:18:48.338 [job-0] INFO  JobContainer - Job set Channel-Number to 5 channels.
2018-09-17 20:18:48.348 [job-0] INFO  JobContainer - DataX Reader.Job [streamreader] splits to [5] tasks.
2018-09-17 20:18:48.349 [job-0] INFO  JobContainer - DataX Writer.Job [streamwriter] splits to [5] tasks.
2018-09-17 20:18:48.371 [job-0] INFO  JobContainer - jobContainer starts to do schedule ...
2018-09-17 20:18:48.380 [job-0] INFO  JobContainer - Scheduler starts [1] taskGroups.
2018-09-17 20:18:48.382 [job-0] INFO  JobContainer - Running by standalone Mode.
2018-09-17 20:18:48.391 [taskGroup-0] INFO  TaskGroupContainer - taskGroupId=[0] start [5] channels for [5] tasks.
2018-09-17 20:18:48.397 [taskGroup-0] INFO  Channel - Channel set byte_speed_limit to -1, No bps activated.
2018-09-17 20:18:48.401 [taskGroup-0] INFO  Channel - Channel set record_speed_limit to -1, No tps activated.
2018-09-17 20:18:48.412 [taskGroup-0] INFO  TaskGroupContainer - taskGroup[0] taskId[1] attemptCount[1] is started
2018-09-17 20:18:48.415 [taskGroup-0] INFO  TaskGroupContainer - taskGroup[0] taskId[0] attemptCount[1] is started
helle DataX     你吃完晚飯了嗎?        不要在寫程式碼了,太累了
helle DataX     你吃完晚飯了嗎?        不要在寫程式碼了,太累了
helle DataX     你吃完晚飯了嗎?        不要在寫程式碼了,太累了
helle DataX     你吃完晚飯了嗎?        不要在寫程式碼了,太累了
helle DataX     你吃完晚飯了嗎?        不要在寫程式碼了,太累了
helle DataX     你吃完晚飯了嗎?        不要在寫程式碼了,太累了
helle DataX     你吃完晚飯了嗎?        不要在寫程式碼了,太累了
helle DataX     你吃完晚飯了嗎?        不要在寫程式碼了,太累了
helle DataX     你吃完晚飯了嗎?        不要在寫程式碼了,太累了
helle DataX     你吃完晚飯了嗎?        不要在寫程式碼了,太累了
helle DataX     你吃完晚飯了嗎?        不要在寫程式碼了,太累了
helle DataX     你吃完晚飯了嗎?        不要在寫程式碼了,太累了
helle DataX     你吃完晚飯了嗎?        不要在寫程式碼了,太累了
helle DataX     你吃完晚飯了嗎?        不要在寫程式碼了,太累了
helle DataX     你吃完晚飯了嗎?        不要在寫程式碼了,太累了
helle DataX     你吃完晚飯了嗎?        不要在寫程式碼了,太累了
helle DataX     你吃完晚飯了嗎?        不要在寫程式碼了,太累了
helle DataX     你吃完晚飯了嗎?        不要在寫程式碼了,太累了
helle DataX     你吃完晚飯了嗎?        不要在寫程式碼了,太累了
helle DataX     你吃完晚飯了嗎?        不要在寫程式碼了,太累了
2018-09-17 20:18:48.421 [taskGroup-0] INFO  TaskGroupContainer - taskGroup[0] taskId[3] attemptCount[1] is started
helle DataX     你吃完晚飯了嗎?        不要在寫程式碼了,太累了
helle DataX     你吃完晚飯了嗎?        不要在寫程式碼了,太累了
helle DataX     你吃完晚飯了嗎?        不要在寫程式碼了,太累了
helle DataX     你吃完晚飯了嗎?        不要在寫程式碼了,太累了
helle DataX     你吃完晚飯了嗎?        不要在寫程式碼了,太累了
helle DataX     你吃完晚飯了嗎?        不要在寫程式碼了,太累了
helle DataX     你吃完晚飯了嗎?        不要在寫程式碼了,太累了
helle DataX     你吃完晚飯了嗎?        不要在寫程式碼了,太累了
helle DataX     你吃完晚飯了嗎?        不要在寫程式碼了,太累了
helle DataX     你吃完晚飯了嗎?        不要在寫程式碼了,太累了
2018-09-17 20:18:48.433 [taskGroup-0] INFO  TaskGroupContainer - taskGroup[0] taskId[2] attemptCount[1] is started
helle DataX     你吃完晚飯了嗎?        不要在寫程式碼了,太累了
helle DataX     你吃完晚飯了嗎?        不要在寫程式碼了,太累了
helle DataX     你吃完晚飯了嗎?        不要在寫程式碼了,太累了
helle DataX     你吃完晚飯了嗎?        不要在寫程式碼了,太累了
helle DataX     你吃完晚飯了嗎?        不要在寫程式碼了,太累了
helle DataX     你吃完晚飯了嗎?        不要在寫程式碼了,太累了
helle DataX     你吃完晚飯了嗎?        不要在寫程式碼了,太累了
helle DataX     你吃完晚飯了嗎?        不要在寫程式碼了,太累了
helle DataX     你吃完晚飯了嗎?        不要在寫程式碼了,太累了
helle DataX     你吃完晚飯了嗎?        不要在寫程式碼了,太累了
2018-09-17 20:18:48.440 [taskGroup-0] INFO  TaskGroupContainer - taskGroup[0] taskId[4] attemptCount[1] is started
helle DataX     你吃完晚飯了嗎?        不要在寫程式碼了,太累了
helle DataX     你吃完晚飯了嗎?        不要在寫程式碼了,太累了
helle DataX     你吃完晚飯了嗎?        不要在寫程式碼了,太累了
helle DataX     你吃完晚飯了嗎?        不要在寫程式碼了,太累了
helle DataX     你吃完晚飯了嗎?        不要在寫程式碼了,太累了
helle DataX     你吃完晚飯了嗎?        不要在寫程式碼了,太累了
helle DataX     你吃完晚飯了嗎?        不要在寫程式碼了,太累了
helle DataX     你吃完晚飯了嗎?        不要在寫程式碼了,太累了
helle DataX     你吃完晚飯了嗎?        不要在寫程式碼了,太累了
helle DataX     你吃完晚飯了嗎?        不要在寫程式碼了,太累了
2018-09-17 20:18:48.548 [taskGroup-0] INFO  TaskGroupContainer - taskGroup[0] taskId[0] is successed, used[133]ms
2018-09-17 20:18:48.548 [taskGroup-0] INFO  TaskGroupContainer - taskGroup[0] taskId[1] is successed, used[137]ms
2018-09-17 20:18:48.550 [taskGroup-0] INFO  TaskGroupContainer - taskGroup[0] taskId[2] is successed, used[117]ms
2018-09-17 20:18:48.557 [taskGroup-0] INFO  TaskGroupContainer - taskGroup[0] taskId[3] is successed, used[136]ms
2018-09-17 20:18:48.559 [taskGroup-0] INFO  TaskGroupContainer - taskGroup[0] taskId[4] is successed, used[119]ms
2018-09-17 20:18:48.576 [taskGroup-0] INFO  TaskGroupContainer - taskGroup[0] completed it's tasks.
2018-09-17 20:18:58.400 [job-0] INFO  StandAloneJobContainerCommunicator - Total 50 records, 1500 bytes | Speed 150B/s, 5 records/s | Error 0 records, 0 bytes |  All Task WaitWriterTime 0.000s |  All Task WaitReaderTime 0.001s | Percentage 100.00%
2018-09-17 20:18:58.401 [job-0] INFO  AbstractScheduler - Scheduler accomplished all tasks.
2018-09-17 20:18:58.403 [job-0] INFO  JobContainer - DataX Writer.Job [streamwriter] do post work.
2018-09-17 20:18:58.410 [job-0] INFO  JobContainer - DataX Reader.Job [streamreader] do post work.
2018-09-17 20:18:58.412 [job-0] INFO  JobContainer - DataX jobId [0] completed successfully.
2018-09-17 20:18:58.414 [job-0] INFO  HookInvoker - No hook invoked, because base dir not exists or is a file: D:\datax\hook
2018-09-17 20:18:58.422 [job-0] INFO  JobContainer -
         [total cpu info] =>
                averageCpu                     | maxDeltaCpu                    | minDeltaCpu
                -1.00%                         | -1.00%                         | -1.00%


         [total gc info] =>
                 NAME                 | totalGCCount       | maxDeltaGCCount    | minDeltaGCCount    | totalGCTime        | maxDeltaGCTime     | minDeltaGCTime
                 PS MarkSweep         | 0                  | 0                  | 0                  | 0.000s             | 0.000s             | 0.000s
                 PS Scavenge          | 0                  | 0                  | 0                  | 0.000s             | 0.000s             | 0.000s

2018-09-17 20:18:58.431 [job-0] INFO  JobContainer - PerfTrace not enable!
2018-09-17 20:18:58.436 [job-0] INFO  StandAloneJobContainerCommunicator - Total 50 records, 1500 bytes | Speed 150B/s, 5 records/s | Error 0 records, 0 bytes |  All Task WaitWriterTime 0.000s |  All Task WaitReaderTime 0.001s | Percentage 100.00%
2018-09-17 20:18:58.445 [job-0] INFO  JobContainer -
任務啟動時刻                    : 2018-09-17 20:18:48
任務結束時刻                    : 2018-09-17 20:18:58
任務總計耗時                    :                 10s
任務平均流量                    :              150B/s
記錄寫入速度                    :              5rec/s
讀出記錄總數                    :                  50
讀寫失敗總數                    :                   0