首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用推断模式与在spark数据中加载CSV文件数据时显式传递模式时的性能开销

使用推断模式与在spark数据中加载CSV文件数据时显式传递模式时的性能开销
EN

Stack Overflow用户
提问于 2017-08-09 08:32:00
回答 1查看 5.2K关注 0票数 1

我是加载CSV数据在火花数据与设置inferSchema选项为true。尽管我的CSV文件的模式总是相同的,而且我知道确切的模式。

手动提供模式而不是推断模式是个好主意吗?显式提供架构是否提高了性能?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-09 08:57:11

是的,很好。架构Infter将导致该文件被读取两次-一次用于架构推断,第二次用于读取数据集。

来自DataFrameReader的火花代码-类似的是在DataStreamReader

如果启用了inferSchema,此函数将遍历输入一次以确定输入模式。为了避免检查整个数据一次,禁用inferSchema选项或使用schema显式指定模式。

链接到代码

但是,可能很难维护100个数据集的架构,每个数据集有200列。您还应该考虑到可维护性-所以,典型的答案将取决于:)对于不是那么大的模式或不那么困难的推断,但是对于大型文件,我建议使用用代码编写的自定义模式。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45585502

复制
相关文章

相似问题

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