Apache spark 将SequenceFile转换为数据帧
我有一个SequenceFile,我想使用Pyspark将其转换为数据帧 为此,我使用以下代码:Apache spark 将SequenceFile转换为数据帧,apache-spark,pyspark,sequencefile,Apache Spark,Pyspark,Sequencefile,我有一个SequenceFile,我想使用Pyspark将其转换为数据帧 为此,我使用以下代码: seq_file = sc.sequenceFile("products_sequencefile") df = prod_seq.map(lambda a: str(a).split(",")).map(lambda a: (a[0],a[1],a[2],a[3],a[4],a[5],a[6])).toDF() 但是,它给了我一个输出,其中一些值带有'u:
seq_file = sc.sequenceFile("products_sequencefile")
df = prod_seq.map(lambda a: str(a).split(",")).map(lambda a: (a[0],a[1],a[2],a[3],a[4],a[5],a[6])).toDF()
但是,它给了我一个输出,其中一些值带有'u:
+--------+-------+---+--------------------+---+------+--------------------+
| _1| _2| _3| _4| _5| _6| _7|
+--------+-------+---+--------------------+---+------+--------------------+
|(u'1009'| u'1009| 45|Diamond Fear No E...| |599.99|http://images.acm...|
我的方法正确吗?尝试直接使用toDF吗
df = sc.sequenceFile("products_sequencefile").toDF('key', 'value')
ncols = 6 # set the ncols here as appropriate
df = df.select(
'key',
*[F.split(F.col('value'), ',')[i] for i in range(ncols)]
)
为了得到所有列,我必须按“,”进行拆分,使用toDF()direclty,我将有两列:键和values@PedroAlves参见编辑后的答案?在读入数据帧后,我使用逗号分隔符拆分了这些值