Spark 2.0 - Databricks xml reader 输入路径不存在

Spark 2.0 - Databricks xml reader Input path does not exist

我正在尝试使用 Databricks XML 文件 reader api.

示例代码:

val spark = SparkSession
    .builder()
    .master("local[*]")
    .appName("Java Spark SQL basic example")
    .config("spark.sql.warehouse.dir", "file:///C:/TestData")
    .getOrCreate();
  //val sqlContext = new SQLContext(sc)
  val df = spark.read
    .format("com.databricks.spark.xml")
    .option("rowTag", "book")
    .load("books.xml")

    df.show()

如果我直接给出文件路径,它会寻找一些仓库目录。所以我设置了 spark.sql.warehouse.dir 选项,但现在它抛出 Input path does not exist.

其实是在项目根目录下找,为什么要找项目根目录?

终于成功了。我们需要指定仓库目录并在加载方法中传递绝对文件路径。不知道仓库目录有什么用

主要部分是我们不需要像其他 Whosebug 答案中提到的那样给出 C:

工作代码:

val spark = SparkSession
    .builder()
    .master("local[*]")
    .appName("Java Spark SQL basic example")
    .config("spark.sql.warehouse.dir", "file:///TestData/")
    .getOrCreate();
  //val sqlContext = new SQLContext(sc)
  val df = spark.read
    .format("com.databricks.spark.xml")
    .option("rowTag", "book")
    .load("file:///TestData/books.xml")

    df.show()