'tuple'对象没有属性'split'

时间:2018-05-18 11:58:12

标签: python apache-spark pyspark

截图

enter image description here

完整截图

enter image description here

我已经使用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 

2 个答案:

答案 0 :(得分:0)

根据您的代码,您尝试在元组上应用split方法。 split方法可用于字符串。所以,oi可能是一个元组,你可能想要访问元组的元素,然后在元素上应用split。再次,它只有在它的字符串时才会起作用。

答案 1 :(得分:0)

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

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