AttributeError: 'NoneType' object has no attribute 'select' | PySpark
AttributeError: 'NoneType' object has no attribute 'select' | PySpark
这可能是一个非常基本的问题,因为我是 pyspark 的初学者。我已经阅读了一个 csv 文件并尝试在其上应用一些 pyspark 函数,如过滤器、拆分或替换。但我遇到了一个错误
这是我的代码...
emp_data = spark\
.read\
.format('csv')\
.option("inferSchema","true")\
.option("header","true")\
.load("/FileStore/tables/employee_earnings_report_2016-1.csv")
阅读文件后我应用了过滤器..运行良好
import pyspark.sql.functions as f
df = emp_data.filter((f.col("POSTAL") == 2148) | (f.col("POSTAL") == 2125)).show(5)
+-----------------+-----------+-----+-------+----------+-------+------+-------------------------+--------------+------+------+
| NAME| REGULAR|RETRO| OTHER| OVERTIME|INJURED|DETAIL|QUINN/EDUCATION INCENTIVE|TOTAL EARNINGS|POSTAL|Gender|
+-----------------+-----------+-----+-------+----------+-------+------+-------------------------+--------------+------+------+
| Abbasi,Sophia| ,249.83| NA| NA| NA| NA| NA| NA| ,249.83| 2148| M|
|Abbruzzese,Angela| ,000.90| NA| NA| NA| NA| NA| NA| ,000.90| 2125| M|
| Abbruzzese,Donna| 1.90| NA| NA| NA| NA| NA| NA| 1.90| 2125| M|
| Abdelrahim,Maha| ,181.60| NA| NA| NA| NA| NA| NA| ,181.60| 2125| M|
| Abron,Wayne E.|3,667.51| NA|0.00|,696.60| NA| NA| NA| 7,914.11| 2125| M|
+-----------------+-----------+-----+-------+----------+-------+------+-------------------------+--------------+------+------+
接下来我想在“NAME”列上应用拆分函数并提取名称的第一个索引。我正在这样做...
df_new = df.select(f.split(f.col("NAME"), ',')).show(3)
产生以下错误
AttributeError: 'NoneType' object has no attribute 'select'
我该如何解决这个错误?
问题的发生是由于
df = emp_data.filter((f.col("POSTAL") == 2148) | (f.col("POSTAL") == 2125)).show(5)
在末尾添加 .show(5)
将对象的类型从 pyspark DataFrame 更改为 NoneType
。
因此当你使用
df_new = df.select(f.split(f.col("NAME"), ',')).show(3)
你收到错误 AttributeError: 'NoneType' object has no attribute 'select'
更好的方法是使用:
df = emp_data.filter((f.col("POSTAL") == 2148) | (f.col("POSTAL") == 2125))
df.show(5)
您还可以使用 display(df)
进行样式显示。
这可能是一个非常基本的问题,因为我是 pyspark 的初学者。我已经阅读了一个 csv 文件并尝试在其上应用一些 pyspark 函数,如过滤器、拆分或替换。但我遇到了一个错误 这是我的代码...
emp_data = spark\
.read\
.format('csv')\
.option("inferSchema","true")\
.option("header","true")\
.load("/FileStore/tables/employee_earnings_report_2016-1.csv")
阅读文件后我应用了过滤器..运行良好
import pyspark.sql.functions as f
df = emp_data.filter((f.col("POSTAL") == 2148) | (f.col("POSTAL") == 2125)).show(5)
+-----------------+-----------+-----+-------+----------+-------+------+-------------------------+--------------+------+------+
| NAME| REGULAR|RETRO| OTHER| OVERTIME|INJURED|DETAIL|QUINN/EDUCATION INCENTIVE|TOTAL EARNINGS|POSTAL|Gender|
+-----------------+-----------+-----+-------+----------+-------+------+-------------------------+--------------+------+------+
| Abbasi,Sophia| ,249.83| NA| NA| NA| NA| NA| NA| ,249.83| 2148| M|
|Abbruzzese,Angela| ,000.90| NA| NA| NA| NA| NA| NA| ,000.90| 2125| M|
| Abbruzzese,Donna| 1.90| NA| NA| NA| NA| NA| NA| 1.90| 2125| M|
| Abdelrahim,Maha| ,181.60| NA| NA| NA| NA| NA| NA| ,181.60| 2125| M|
| Abron,Wayne E.|3,667.51| NA|0.00|,696.60| NA| NA| NA| 7,914.11| 2125| M|
+-----------------+-----------+-----+-------+----------+-------+------+-------------------------+--------------+------+------+
接下来我想在“NAME”列上应用拆分函数并提取名称的第一个索引。我正在这样做...
df_new = df.select(f.split(f.col("NAME"), ',')).show(3)
产生以下错误
AttributeError: 'NoneType' object has no attribute 'select'
我该如何解决这个错误?
问题的发生是由于
df = emp_data.filter((f.col("POSTAL") == 2148) | (f.col("POSTAL") == 2125)).show(5)
在末尾添加 .show(5)
将对象的类型从 pyspark DataFrame 更改为 NoneType
。
因此当你使用
df_new = df.select(f.split(f.col("NAME"), ',')).show(3)
你收到错误 AttributeError: 'NoneType' object has no attribute 'select'
更好的方法是使用:
df = emp_data.filter((f.col("POSTAL") == 2148) | (f.col("POSTAL") == 2125))
df.show(5)
您还可以使用 display(df)
进行样式显示。