在 Spark 中读取具有多个标题的文本文件 [英] Reading a text file with multiple headers in Spark

查看:35
本文介绍了在 Spark 中读取具有多个标题的文本文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个包含多个标题的文本文件,其中TEMP"列包含当天的平均温度,然后是记录数.如何正确读取此文本文件以创建 DataFrame

I have a text file having multiple headers where "TEMP" column has the average temperature for the day, followed by the number of recordings. How can I read this text file properly to create a DataFrame

STN--- WBAN   YEARMODA    TEMP     
010010 99999  20060101    33.5 23
010010 99999  20060102    35.3 23
010010 99999  20060103    34.4 24
STN--- WBAN   YEARMODA    TEMP     
010010 99999  20060120    35.2 22
010010 99999  20060121    32.2 21
010010 99999  20060122    33.0 22

推荐答案

  1. 您可以在 RDD
  2. 中读取文本文件作为普通文本文件
  3. 文本文件中有一个分隔符,假设它是一个空格
  4. 然后您可以从中删除标题
  5. 删除所有与标题不相等的行
  6. 然后使用 .toDF(col_names)
  7. RDD 转换为数据帧

像这样:

rdd = sc.textFile("path/to/file.txt").map(lambda x: x.split(" ")) # step 1 & 2
headers = rdd.first() # Step 3
rdd2 = rdd.filter(lambda x: x != headers)
df = rdd2.toDF(headers) # Step 4

这篇关于在 Spark 中读取具有多个标题的文本文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆