直接读取
ss = SparkSession \
.builder \
.appName("luodj_db_access") \
.getOrCreate()
# 列名是_c开头的,例如_c0, _c1,且header也当做一行
df = ss.read.csv('./mdd_sample.csv')
读取本地文件,列名是_c开头的自动列名。

但是对应的schema全是string

使用自定义结构体读取
如果想要一开始就转换成自己想要的格式,可以使用schema来指定自定义的structtype,
# 支持格式
from pyspark.sql.types import StructField, StructType, DateType, StringType, DecimalType, IntegerType, DoubleType
schema1 = StructType([
StructField('pub_dt',

本文介绍了如何在Spark中使用pyspark读取csv文件,包括直接读取和通过自定义结构体读取的方式。直接读取会自动将列名设为_c开头,所有列的数据类型默认为string。而使用自定义结构体可以预定义列的数据类型,防止转换错误,同时可以设置模式处理解析问题,以及通过ignoreFirstLine参数忽略首行列头。
最低0.47元/天 解锁文章
523

被折叠的 条评论
为什么被折叠?



