python每行5个数_字数小于5的行数

本文探讨了如何利用Pyspark处理文本数据,遇到的问题是过滤行数单词少于5的行。代码中存在一个错误,导致任务失败,主要原因是尝试访问不存在的属性'split'。解决方法将有助于理解如何正确操作Spark RDD进行文本处理。
摘要由CSDN通过智能技术生成

使用pyspark,

我想找到包含单词数的行数<5

我写了这个代码,但我不知道它有什么问题from pyspark.sql import SparkSession, Row

spark = SparkSession.builder.master("spark://master:7077").appName('test').config(conf=SparkConf()).getOrCreate()

df = spark.read.text('text.txt')

rdd = df.rdd

print(df.count())

rdd1=rdd.filter(lambda line: len((line.split(" "))<5)).collect()

print(rdd1.count())

This is the a small part of the Error

-----------------------------------------------------------------------

Py4JJavaError Traceback (most recent call last)

in ()

9 rdd = df.rdd

10 print(df.count())

---> 11 rdd1=rdd.filter(lambda line: len((line.split(" "))<5)).collect()

12 print(rdd1.count())

13

Py4JJavaError: An error occurred while calling z:org.apache.spark.api.python.PythonRDD.collectAndServe.

: org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 144.0 failed 1 times, most recent failure: Lost task 0.0 in stage 144.0 (TID 144, localhost): org.apache.spark.api.python.PythonException: Traceback (most recent call last):

File "/Users/ff/spark/python/lib/pyspark.zip/pyspark/sql/types.py", line 1497, in __getattr__

idx = self.__fields__.index(item)

ValueError: 'split' is not in list

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值