在spark / scala中加载csv文件的有效方法

时间:2017-06-13 17:24:38

标签: scala csv apache-spark databricks

我正在尝试从spark中加载scala中的csv文件。我看到我们可以使用以下两种不同的语法:

  sqlContext.read.format("csv").options(option).load(path)
  sqlContext.read.options(option).csv(path)

这两者之间有什么区别,哪个性能更好? 感谢

1 个答案:

答案 0 :(得分:3)

没有区别。

那为什么两者都存在?

  • .format(fmt).load(path)方法是一个灵活的可插入 API,允许添加更多格式而无需重新编译spark - 您可以为自定义数据源实现注册别名并让Spark使用它们; “csv”used to be这样的自定义实现(在打包的Spark二进制文件之外),但它现在是项目的一部分
  • “内置”数据源(如csvparquetjson ...)的简写方法使代码更简单(并在编译时验证)时间)

最终,他们都创建了一个CSV数据源并使用它来加载数据。

最重要的是,对于任何支持的格式,您应该选择“速记”方法,例如: csv(path)