DataX分别使用Java代码实现和python代码实现

一、Java代码实现(代码出处:https://www.cnblogs.com/smartisn/p/12390964.html

 1 package datax;
 2
 3 import java.io.BufferedReader;
 4 import java.io.BufferedWriter;
 5 import java.io.IOException;
 6 import java.io.InputStreamReader;
 7 import java.io.OutputStreamWriter;
 8
 9 public class CMD {
10     Process process;
11     public void CmdTest(String json) throws IOException {
12         process=Runtime.getRuntime().exec("cmd");   //获取控制台
13         new Thread(){
14             public void run() {
15                 try {
16                     BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(process.getOutputStream()));  //获取输入流
17                     bw.write("CHCP 65001");
18                     bw.newLine();
19
20                     bw.write("d:");
21                     bw.newLine();
22
23                     bw.write("cd D:\\BigDataTools\\datax\\datax\\bin");
24                     bw.newLine();//因为读取时是一行行读取的,不加newline无法继续往下读
25
26                     bw.write("python datax.py "+json);
27                     bw.newLine();
28
29
30                     bw.flush();
31                 } catch (IOException e) {
32                     // TODO Auto-generated catch block
33                     e.printStackTrace();
34                 }
35             }
36         }.start();;
37         new Thread() {
38             public void run() {
39                 try {
40                     BufferedReader br=new BufferedReader(new InputStreamReader(process.getInputStream()));
41                     String cmdout="";
42                     while ((cmdout=br.readLine())!=null) {
43                         System.out.println(cmdout);
44                     }
45                 } catch (IOException e) {
46                     // TODO Auto-generated catch block
47                     e.printStackTrace();
48                 }
49             }
50         }.start();
51
52     }
53
54     public static void main(String[] args) throws IOException {
55         CMD cmd=new CMD();
56         String json="D:\\BigDataTools\\datax\\datax\\bin\\stream2stream.json";
57         cmd.CmdTest(json);
58
59     }
60 }

二、python代码实现(代码出处:https://www.cnblogs.com/smartisn/p/12391171.html

1 import os
2 if __name__==‘__main__‘:
3     str="CHCP 65001"+"&&"
4     str+="d:"+"&&"
5     str += "cd D:\\BigDataTools\\datax\\datax\\bin" + "&&"
6     str += "python datax.py " + "D:\\BigDataTools\\datax\\datax\\bin\\stream2stream.json"
7     print(str)
8     cmd=os.system(str)
9     print(cmd)

三、总结

不管是Java代码实现DataX还是python代码实现DataX原理都是调用cmd界面调用DataX固定的接口实现数据导入。

原文地址:https://www.cnblogs.com/goubb/p/12416625.html

时间: 2024-10-05 04:45:52

DataX分别使用Java代码实现和python代码实现的相关文章

C代码和python代码:用二维数组实现矩阵的转置

目录 一.总结 二.C代码 三.Python代码 一.总结 输入用了 int(input()) ,但发现这种方法好像有点不方便 每次输入一个数字都要按回车,按空格不能识别 下次找找看看有没有其他输入方法 Python中没有数组,但列表类似数组 通过叠加[ ],就可以通过列表创建二维数组 Python中创建二维数组的方法(以本案例为例): matrixA=[[0 for i in range(4)] for i in range(3)] matrixA=[ [ 0, 0, 0, 0], [ 0,

C代码和python代码:字符替换

目录 一.总结 二.Python代码 三.Python代码 一.总结 好久没学习代码了,而且只是简单学习了Python后来改这个后真的是一个头两个大,感觉真的有挺多和C不一样的 C有指针,Python没有 C没有直接的String类型,Python有 然后就各种熟悉Python字符串的用法 总结了一些改程序中遇到的问题: 1.因为C没有直接的String类型,Python有,所以直接使用String类型的变量就好,不用使用列表,函数的参数直接使用String就行,因为看到*就陷入误区的我...

C代码和python代码:模拟ATM(自动柜员机)界面

目录 一.前言与总结 二.C代码 三.Python代码 一.前言与总结 python中没有可以替代 switch 语句的, 所以那些break都是没有作用的,可以删除掉 用途 C语言 Python 清屏 system("cls") i = os.system("cls") 暂停 getchar() k=input() 二.C代码 运行环境:VS2017 以下是代码: #include <stdio.h> #include <stdlib.h>

如何在Java中调用Python代码

有时候,我们会碰到这样的问题:与A同学合作写代码,A同学只会写Python,而不会Java, 而你只会写Java并不擅长Python,并且发现难以用Java来重写对方的代码,这时,就不得不想方设法“调用对方的代码”. 下面我将举一些简单的小例子,借此说明:如何在Java中调用Python代码. 看懂这篇文章只需要具备: 熟悉Java的基本语法 懂一点点Python 主要内容如下: 什么是Jython? 一个HelloPython程序 在Jvm中执行Python脚本 仅在Java中调用Python

java转python代码

今天发现一个好玩的工具:可以直接将java转成python 1. 安装工具(windows 环境下面) 先下载antlr: http://www.antlr3.org/download/antlr-3.1.3.tar.gz 链接:http://pan.baidu.com/s/1gdgXUM3 密码:2qrx 解压后,进入\antlr-3.1.3\runtime目录: python setup.py install 安装完这个工具包后,安装java2python包 pip install java

001 发大招了 神器的效率工具--Java代码转python代码

今天发现一个好玩的工具:可以直接将java转成python? 1. 安装工具(windows 环境下面)? 先下载antlr:? 下载链接如下: http://www.antlr3.org/download/antlr-3.1.3.tar.gz? 或者到百度云下载: 百度云链接:http://pan.baidu.com/s/1gdgXUM3 密码:2qrx? ? ? 下载成功并解压后,进入\antlr-3.1.3\runtime目录,输入CMD,在CMD中输入如下指令: python setup

使用Java执行python代码并得到结果

由于一些功能用python代码实现会更加方便(python有那么多实用的库真的香),所以可以用python实现部分代码并通过javaWeb来调用执行. python代码文件 test.py import time for i in xrange(1,10): print("process: " + str(i)) time.sleep(2) print("Finish.........") 加入time.sleep(2)让python的输出有停顿间隔性.主要是为了验

java调用Linux执行Python爬虫,并将数据存储到elasticsearch中--(java后台代码)

该篇博客主要是java代码,如需相应脚本及java连接elasticsearch工具类代码,请移步到上一篇博客 一.创建连接执行Linux脚本工具类 package com.yjlc.platform.utils.Elasticsearch; import ch.ethz.ssh2.Connection; import ch.ethz.ssh2.StreamGobbler; import java.io.*; /** * -------------------------------------

计算程序总行数的Python代码

最近需要统计一下项目中代码的总行数,写了一个Python小程序,不得不说Python是多么的简洁,如果用Java写至少是现在代码的2倍. import os path="/Users/rony/workspace/ecommerce/ecommerce/hot-deploy/" global totalcount totalcount =0 def cfile (path):     allfiles = os.listdir(path)     for file in allfile