python - 使用 pyspark session 从本地文件读取时如何跳过一些行?

标签 python apache-spark pyspark

我正在使用 pyspark 读取和处理本地 .plt 文件中的一些数据。该文件如下所示:

Geolife trajectory
WGS 84
Altitude is in Feet
Reserved 3
0,2,255,My Track,0,0,2,8421376
0
39.984094,116.319236,0,492,39744.2451967593,2008-10-23,05:53:05
39.984198,116.319322,0,492,39744.2452083333,2008-10-23,05:53:06
39.984224,116.319402,0,492,39744.2452662037,2008-10-23,05:53:11
39.984211,116.319389,0,492,39744.2453240741,2008-10-23,05:53:16
......

如上所示,我对开始的 6 行不感兴趣,我想要的是从第 7 行开始的行。所以我想使用spark session从第7行读取这个文件。这是我尝试过但失败的代码:

from pyspark.sql import SparkSession
session = SparkSession.builder.appName('file reader').master('local[*]').getOrCreate()
df = session.read.\
     option('delimiter', ',').\
     option('header', 'false').\
     csv('test.plt')
df.show()

有人可以给我一些建议吗?感谢您的关注。

最佳答案

from pyspark.sql.types import *
from pyspark.sql import SparkSession
session = SparkSession.builder.appName('file reader').master('local[*]').getOrCreate()
schema = StructType([StructField("a", FloatType()),
                     StructField("b", FloatType()),
                     StructField("c", IntegerType()),
                     StructField("d", IntegerType()),
                     StructField("e", FloatType()),
                     StructField("f", StringType()),
                     StructField("g", StringType())])
df=session.read.option('mode','DROPMALFORMED').csv('test.plt',schema)

关于python - 使用 pyspark session 从本地文件读取时如何跳过一些行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54342403/

相关文章:

python - 如何解决 : Python import of file with . csv Dictreader 在未定义字符上失败

python - 我想澄清一下 Python 的 issubset 方法

python - 如何在windows中安装NLTK数据(Anaconda)

java - 如何从Hbase加载最新的100行到Spark

apache-spark - 在PySpark中按一列中的不同值过滤行

python - 如何解决 ValueError : Output tensors to a Model must be the output of a Keras `Layer` (thus holding past layer metadata). ?

scala - 创建一个新的 scala 类,它依赖于没有序列化问题的 GraphFrames

Pyspark,添加冒号来分隔字符串

python - PySPark - 确定操作后数据类型的函数

python - 使用 pyspark 并行化 scipy csr 稀疏矩阵以进行大矩阵乘法