【发布时间】:2014-12-18 08:56:05
【问题描述】:
我有一个清单:
jos = ['/usr/bin/hive', '-e', "'set mapred.job.queue.name=exp_dsa; select * from trinity.clickstream where device_id = '59ab' and event_timestamp = '141833140000';'"]
我会这样处理列表
cmdlines = " ".join(map(lambdas x:("'"+x+"'"), jos))
然后我会在 paramiko 中推送这个字符串:
stdin,stdout,stderr = ssh.exec_command(cmdlines)
paramiko 所做的只是让我ssh 进入另一台机器。
我目前遇到语法错误
stderr.readlines() 产生
[u"bash: -c: line 0: syntax error near unexpected token `from'\n", u"bash: -c: line 0: `'/usr/bin/hive' '-e' ''set mapred.job.queue.name=exp_dsa; select * from trinity.clickstream where application_mobile_device_id = '59ab' and event_timestamp = '141833140000';'''\n"]
不确定此错误的含义或需要修复的地方
【问题讨论】:
-
看起来像“''”导致问题
-
@BallPython 是的,由于查询,我正在处理一些“'”。不知道如何解决这个=[
-
尝试逃脱它们,应该可以工作
-
lambda,而不是lambdas。