在python脚本中运行sqoop

blpfk2vs  于 2021-06-03  发布在  Sqoop
关注(0)|答案(3)|浏览(471)

我试图在python脚本中运行sqoop命令。我可以通过shell命令执行这个命令,但是当我尝试执行python stript时:


# !/usr/bin/python

sqoopcom="sqoop import --direct --connect abcd --username abc --P --query "queryname" "

exec (sqoopcom)

我出错了,语法无效,怎么解决?

zzoitvuj

zzoitvuj1#

您可以使用:无效语法错误注意到您没有反斜杠“queryname”


# !/usr/bin/env python

import os
sqoopcom="sqoop import --direct --connect abcd --username abc --P --query \"queryname\" "
os.system(sqoopcom)
8i9zcol2

8i9zcol22#

您需要跳过“on--query param

sqoopcom="sqoop import --direct --connect abcd --username abc --P --query \"queryname\" --target-dir /pwd/dir --m 1 --fetch-size 1000 --verbose --fields-terminated-by , --escaped-by \\ --enclosed-by '\"'/dir/part-m-00000"
rqenqsqc

rqenqsqc3#

内置 exec 您使用的语句用于解释python程序中的python代码。
您想要的是执行一个外部(shell)命令。你可以用 call 从子流程模块

import subprocess
subprocess.call(["echo", "Hello", "World"])

https://docs.python.org/3/library/subprocess.html

相关问题