首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pyspark load-csv不显示新文件的真实模式(仅显示“推断”模式)

Pyspark load-csv不显示新文件的真实模式(仅显示“推断”模式)
EN

Stack Overflow用户
提问于 2021-04-12 16:39:56
回答 1查看 47关注 0票数 0

我正在尝试从一个分区文件夹中加载pyspark csv : mnt/data/test/ingestdatetime=20210208/test_20210208.csv

代码语言:javascript
复制
df = spark.read.csv("mnt/data/test")
df = df.filter(df['ingestdatetime'] == '20210208') 

基本上,我想看看模式是否与它应该的不同(数据没有标头,所以我不能比较标头)

问题是,每当我在顶层" data /test/“加载数据时,模式都是基于几行”推断“的,并且它不会看到新文件是否有额外的列或太多的列。==>,所以我无法比较模式是否不同。

我看到了这个(6列):

而不是这个(7列):

第一种方法是直接从分区加载数据( data /test/ingestdate=20210208/)。但是我会丢失分区键列类型。

我想我也可以将所有内容都加载为字符串。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-20 05:23:02

在使用PySpark进行读取时,您可以使用basePath选项将分区列“保留”在输出数据帧中。此选项是众所周知的,但没有文档记录(或documented only for Parquet,但适用于所有其他来源)

代码语言:javascript
复制
spark.read.option("basePath", "/mnt/data/test").csv("/mnt/data/test/ingestdate=20210208")
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67055222

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档