【问题标题】:load file in scala intellij IDE在 scala intellij IDE 中加载文件
【发布时间】:2019-02-21 09:11:35
【问题描述】:

我有这个代码:

  def main(args: Array[String]): Unit = {

//  Creation of Spark Session
    implicit val sparkSession = SparkSession.builder().appName("seco_trial").getOrCreate()
    println("test")

    val df = sparkSession.read.format("csv").option("header", "true").load("D:/Userfiles/mir/Downloads/extract_sec_mav2.csv")

    println("test2")

我创建 val df 的行给了我以下错误:

2018-09-17 14:27:24 WARN FileStreamSink:66 - 查找时出错 元数据目录。线程“主”java.io.IOException 中的异常:否 方案的文件系统:D 在 org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:2660) 在 org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2667) [...]

让我们排除错误的路径作为问题。 我的文件正确地具有扩展名 .csv

你能告诉我是什么问题吗?为什么我不能加载文件?

【问题讨论】:

  • option("header", "true") 值应该作为布尔值而不是字符串值给出。改用 option("header", true)
  • 不知道这是否只是一个 c&p 错误,但在您的代码示例中,main 方法并没有用关闭 } 关闭。
  • 我会说的。但错误仍然存​​在:(
  • 创建 SparkSession 时添加 master。对于本地,您可以像这样使用来获取所有可用的核心。 implicit val sparkSession = SparkSession.builder().appName("seco_trial").master("local[*]").getOrCreate()
  • 您列出的唯一例外与路径有关。您的异常告诉您它找不到路径为D:/... 的文件系统您还有什么其他问题?

标签: scala file csv path load


【解决方案1】:

我不知道为什么,但我必须在前面添加“fie:///”。

【讨论】:

  • file:/// 让 Spark 知道从本地文件系统读取数据。如果您不想指定 file:// 将 'fs.defaultFS' 值更改为 'file:///' ,则默认情况下 Spark 将从本地文件系统查找数据。
  • 你能改写一下吗?我想我有点理解但不确定。
猜你喜欢
  • 2017-10-25
  • 2018-07-21
  • 1970-01-01
  • 2016-03-19
  • 1970-01-01
  • 1970-01-01
  • 2015-10-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多