首页 > 解决方案 > 'tuple' 对象没有属性 'split'

问题描述

截图

在此处输入图像描述

完整截图

在此处输入图像描述

我使用 pyspark 加入了两个 RDD,但是在拆分它们并获取表的详细信息时,我遇到了错误

AttributeError:“元组”对象没有属性“拆分”

我正在处理的代码:

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 

标签: pythonapache-sparkpyspark

解决方案


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


推荐阅读