PySpark编程与数据处理问题解析

1、a) 修改 word_count_submit.py 程序,返回给定文本中不同单词的数量。(提示:results 中每条记录对应一个唯一的单词…)b) (挑战)将你的程序封装在一个函数中,该函数接受一个文件名作为参数,应返回不同单词的数量。

a) 可修改 word_count_submit.py 程序,利用 results 中每条记录对应一个唯一单词的特性,使用合适的 PySpark 方法(如 count() )统计 distinct 后的记录数来得到不同单词数量。

b) 把程序封装成一个函数,函数接收文件名作为参数,在函数内部读取文件进行处理并返回不同单词数量。具体代码实现可基于 PySpark 的相关操作,如读取文件、分词、去重、计数等。

2、假设你想获取一个GroupedData对象的count()和sum()结果。为什么代码“my_data_frame.groupby(“my_column”).count().sum()”不起作用?请映射每个方法的输入和输出。

代码不起作用是因为不能在 GroupedData 对象上链式调用多个汇总方法。

第一个 count() 方法会将 GroupedData 对象转换为数据框,此时再调用 sum() 就会失败。

  • count() 方法
  • 输入: GroupedData 对象
  • 输出:包含计数结果的数据框

  • sum() 方法

  • 正常使用时输入为 GroupedData 对象
  • 但在该代码中,是在 count() 后的输出数据框上调用 sum() ,不符合其在 GroupedData 对象上使用的逻辑

因此,代码不工作。

3、在一个名为 cast_df 的数据集中,如何将其中空值填充为日期 1900 - 01 - 01?

可以使用 fillna() 方法,由于要精确填充特定列,可使用字典方法。假设包含日期的列名为 dates_inconsistently_formatted ,代码示例如下:

cast_df.fillna({'dates_inconsistently_formatted': '1900-01-01'}).show()

4、如果你查看数据,会发现一些驱动器型号可能会报告错误的容量。那么在数据准备阶段,应该怎么做来避免函数中有多个条目?

在数据准备阶

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值