我正在尝试使用Python请求发送put rest api,
def put(payload):
url = "https://server"
headers = {
'Content-Type': 'application/json'}
response = requests.put(url, headers=headers, data=payload)
return response.status_code
我的有效载荷是json字符串(通过在json对象上使用pyspark函数to_json),例如:
{"category":[{"coding":[{"code":"mycode"}]}],"code":{"coding":[{"code":"5","display":"test"}]}}
但是当我在map函数中调用它时,我收到一条错误消息PythonException:ValueError:太多的值无法在第16行(即requests.put)上解包
df.select("payload").rdd.map(lambda x: put(x)).collect()
我尝试使用json = payload,但是我从status_code收到了错误的请求。
有人可以告诉我什么地方可能出问题吗?
答案 0 :(得分:1)
您忘了在lambda函数中解压值。这是正确的:
df.select("payload").rdd.map(lambda x: put(x[0])).collect()