运行 Sqoop with python 3 使用子进程
Run Sqoop with python 3 using subprocess
我正在尝试 运行 Sqoop 命令与 python
subprocess.call(["sqoop","import","--connect", "jdbc:oracle:thin:@hostname:1521/ARSMTREP","--username", "username" ,"--password", "password","--table","ARADMIN."+line,"--as-textfile","--target-dir","/data/"+line])
能够执行此代码,但是当我尝试使用“--fields-terminated-by”+“+”‘~’”执行时,出现工具导入错误
process=subprocess.call(["sqoop","import","--connect", "jdbc:oracle:thin:@hostname:1521/ARSMTREP","--username", "hadoop_user" ,"--password", "password","--table","ARADMIN."+line,"--fields-terminated-by"+" "+"'~'","--as-textfile","--target-dir","/data/"+line])
Error parsing arguments for import
尝试:
process=subprocess.call(["sqoop","import","--connect", "jdbc:oracle:thin:@hostname:1521/ARSMTREP","--username", "hadoop_user" ,"--password", "password","--table","ARADMIN."+line,"--fields-terminated-by","'~'","--as-textfile","--target-dir","/data/"+line])
process=subprocess.call(["sqoop","import","--connect", "jdbc:oracle:thin:@hostname:1521/ARSMTREP","--username", "hadoop_user" ,"--password", "password","--table","ARADMIN."+line,"--fields-terminated-by","~","--as-textfile","--target-dir","/data/"+line])
此代码调用 sqoop 命令并从 linux 终端执行它们。子进程调用 Python subprocess 您还可以使用 os.system()
从 python 执行 Sqoop 查询。但最好是调用 Subprocess 。
subprocess.call()
中的参数中没有白色的 space 否则它会提供错误。
在上面的代码中,所有参数都是 Sqoop 命令,只有 line
是从列表中获取 table 名称的变量。
我正在尝试 运行 Sqoop 命令与 python
subprocess.call(["sqoop","import","--connect", "jdbc:oracle:thin:@hostname:1521/ARSMTREP","--username", "username" ,"--password", "password","--table","ARADMIN."+line,"--as-textfile","--target-dir","/data/"+line])
能够执行此代码,但是当我尝试使用“--fields-terminated-by”+“+”‘~’”执行时,出现工具导入错误
process=subprocess.call(["sqoop","import","--connect", "jdbc:oracle:thin:@hostname:1521/ARSMTREP","--username", "hadoop_user" ,"--password", "password","--table","ARADMIN."+line,"--fields-terminated-by"+" "+"'~'","--as-textfile","--target-dir","/data/"+line])
Error parsing arguments for import
尝试:
process=subprocess.call(["sqoop","import","--connect", "jdbc:oracle:thin:@hostname:1521/ARSMTREP","--username", "hadoop_user" ,"--password", "password","--table","ARADMIN."+line,"--fields-terminated-by","'~'","--as-textfile","--target-dir","/data/"+line])
process=subprocess.call(["sqoop","import","--connect", "jdbc:oracle:thin:@hostname:1521/ARSMTREP","--username", "hadoop_user" ,"--password", "password","--table","ARADMIN."+line,"--fields-terminated-by","~","--as-textfile","--target-dir","/data/"+line])
此代码调用 sqoop 命令并从 linux 终端执行它们。子进程调用 Python subprocess 您还可以使用 os.system()
从 python 执行 Sqoop 查询。但最好是调用 Subprocess 。
subprocess.call()
中的参数中没有白色的 space 否则它会提供错误。
在上面的代码中,所有参数都是 Sqoop 命令,只有 line
是从列表中获取 table 名称的变量。