今天在运行DataX的时候报错:
File "datax.py", line 114
print readerRef
^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print(readerRef)?
造成这样的原因是Python版本的差异造成的,2版本的python在输出时候可以不加 "()",但是3版本的python在输出的时候必须要加 "()",由于我是用的Anaconda,所以我直接在Aanconda的bin目录下直接更改了软连接的指向,注意:不是在Anaconde的虚拟环境中的bin目录更改的指向,而是在Anaconda的自身bin目录下更改的软连接指向
按照以下步骤
rm -rf /root/Anaconda/bin/python
ln -s /usr/bin/python2.7 /root/Anaconda/bin/python
python --version
Python 2.7.5
在解决了python的版本差异之后,又报错:
这个是由于reader和writer的错误导致的,因此,进入到DataX的安装目录,找到 /export/server/datax/plugin,进入plugin,进行如下操作:
cd /plugin/reader
rm -rf ./._*cd /plugin/writer
rm -rf ./._*
之后再运行调度Datax:
输出以上内容即DataX运行成功