Python ';元组';对象没有属性';拆分';

Python ';元组';对象没有属性';拆分';,python,apache-spark,pyspark,Python,Apache Spark,Pyspark,截图 全屏截图 我使用pyspark连接了两个RDD,但在拆分它们并获取表的详细信息时,我发现了以下错误 AttributeError:“tuple”对象没有属性“split” 我正在编写的代码: orderitems = sc.textFile("/user/zzz/data/retail_db/order_items/part-00000") orderitemsmap = orderitems.map(lambda oi: (int(oi.split(",")[1]),float(oi

截图

全屏截图

我使用pyspark连接了两个RDD,但在拆分它们并获取表的详细信息时,我发现了以下错误

AttributeError:“tuple”对象没有属性“split”

我正在编写的代码:

orderitems = sc.textFile("/user/zzz/data/retail_db/order_items/part-00000")
orderitemsmap = orderitems.map(lambda oi: (int(oi.split(",")[1]),float(oi.split(",")[4])))
ordersReduce = orderitemsmap.reduceByKey(lambda x,y:x+y)

orders = sc.textFile("/user/zzz/data/retail_db/orders/part-00000")
ordersmap = orders.map(lambda oi:(int(oi.split(",")[0]),oi.split(",")[3]))

orderstatus = ordersReduce.join(ordersmap)

renvStatus = orderstatus.map(lambda oi: oi.split(",")[1]) 
for i in renvStatus.take(10):print i 

根据您的代码,您正在尝试对元组应用split方法。split方法在字符串上可用。因此,
oi
可能是一个元组,您可能希望访问元组中的一个元素,然后对该元素应用split。同样,只有当它是一个字符串时,它才会工作。

只有字符串对象具有拆分方法。 如果您的元组对象(oi?)是字符串的元组,您可能希望:

"".join(oi)  # ('a', 'b', 'c') => 'abc'

你能告诉我们错误是目前的截图没有涵盖整个错误,你能复制和粘贴整个错误不添加图片的文字。将文本复制并粘贴到问题中。错误出现在
renvStatus=orderstatus.map(lambda oi:oi.split(“,”[1])
中,因为
orderstatus
是RDD[Tuple2],无法拆分Tuple2。你能解释一下你想要实现什么吗?