将文本文件读取到元组pyspark

2024-04-25 01:58:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个关于读取和创建数据集的问题。 我有一个文本文件,其中包含:

Sunny,Hot,High,Weak,No
Sunny,Hot,High,Strong,No

我实现了如下代码:

from pyspark import SparkConf, SparkContext
import operator
import math

conf = SparkConf().setMaster("local[*]").setAppName("Lab 6")
sc = SparkContext(conf=conf)
rawData = sc.textFile("txtfile.data")
data = rawData.flatMap(lambda line: line.split(","))

而不是产生这样的结果:

[(Sunny, Hot, High, Weak, No), (Sunny, Hot, High, Strong, No)]

结果是:

['Sunny', 'Hot', 'High', 'Weak', 'No', 'Sunny', 'Hot', 'High', 'Strong', 'No']

有人能告诉我怎么解决这个问题吗


Tags: 数据noimportdataconflinestrongsc
2条回答

flatmapmap(转换)和展平的组合,它将为子数组中的每个元素创建一行

您希望使用map方法生成字符串数组类型的列

^{}代替flatMap

data = rawData.map(lambda line: line.split(","))
#[['Sunny', 'Hot', 'High', 'Weak', 'No'], ['Sunny', 'Hot', 'High', 'Strong', 'No']]

#to get list of tuples
data = rawData.map(lambda line: tuple(line.split(",")))
#[('Sunny', 'Hot', 'High', 'Weak', 'No'), ('Sunny', 'Hot', 'High', 'Strong', 'No')]

相关问题 更多 >