Apache spark pyspark删除数据帧中的行,其中行fild长度==40000

Apache spark pyspark删除数据帧中的行,其中行fild长度==40000,apache-spark,dataframe,row,pyspark,Apache Spark,Dataframe,Row,Pyspark,我有DataFrame[项:string,true\u recoms:map] 使用模式: StructType(List(StructField(item,StringType,true),StructField(true_recoms,MapType(StringType,IntegerType,true),true))) 我想删除一行,其中长度recoms==40000不是很优雅,但是: sqlContext.udf.register("stringLengthInt", lambda

我有
DataFrame[项:string,true\u recoms:map]

使用模式:

StructType(List(StructField(item,StringType,true),StructField(true_recoms,MapType(StringType,IntegerType,true),true)))
我想删除一行,其中长度
recoms==40000

不是很优雅,但是:

sqlContext.udf.register("stringLengthInt", lambda x: len(x),    IntegerType())
train = sqlContext.sql("SELECT * FROM train HAVING len(true_recoms)<40000")
sqlContext.registerDataFrameAsTable(train, "train")
sqlContext.sql("SELECT item , stringLengthInt(true_recoms) AS l FROM train ORDER BY -l ").collect()