Python 皮斯帕克说:“我不知道;第'行;对象没有属性'_获取对象id';关于partitionBy()

Python 皮斯帕克说:“我不知道;第'行;对象没有属性'_获取对象id';关于partitionBy(),python,apache-spark,pyspark,Python,Apache Spark,Pyspark,考虑以下方案d: schemaRdd = hiveContext.sql(myQuery) 我无法在其上使用分区,已尝试以下操作: numParts = 10 schemaRdd.partitionBy(numParts) schemaRdd.keyBy(lambda row: row[0]).partitionBy(numParts) 两者都给出“Row”对象没有属性“\u get\u object\u id”错误 然后我们如何用 -选定的#分区 -特定分区器-我还想提供第二个参数,该参

考虑以下方案d:

schemaRdd = hiveContext.sql(myQuery)
我无法在其上使用分区,已尝试以下操作:

numParts = 10
schemaRdd.partitionBy(numParts)

schemaRdd.keyBy(lambda row: row[0]).partitionBy(numParts)
两者都给出“Row”对象没有属性“\u get\u object\u id”错误

然后我们如何用 -选定的#分区
-特定分区器-我还想提供第二个参数,该参数是解决了“获取对象”id问题后的分区器

我使用pySpark 1.2.0的经验-我已经将分区器(N)用于RDD,但不用于任何类型的sqlContext对象。对于前者,必须手动将其更改为(键、值)格式-即,如果您的RDD看起来像
(a,b,c)
并且您希望您的密钥是a&b,那么您需要执行:
RDD=RDD.map(lambda(a,b,c):((a,b,c)).partitionBy(256)