在pyspark中操作.txt文件数据并更改数据类型

yacmzcpb  于 2021-06-01  发布在  Hadoop
关注(0)|答案(1)|浏览(370)

我对这个领域还不熟悉。我正在尝试使用python在sparkshell(pyspark)上执行简单的函数。文件在中 .txt 格式,并且只包含数字。我把它和台词一起上传了

numbers_rdd = sc.textFile("/users/hadoop/numbers.txt")

我试着用

numbers_rdd.mean()

然而,结果是
我相信这是因为我需要将文本文件中的数据从字符串转换为数字,但我不确定。请告知如何进行。
数字\u rdd.take(5)输出

3qpi33ja

3qpi33ja1#

您正在从文本文件加载数字,其中每行数字位于不同的rdd元素中,因此:
拆分每行,强制转换为int并展平结果列表,以便将每个数字作为单独的元素:

numbers_rdd.flatMap(lambda x: [int(y) for y in x.split()]).mean()

相关问题