2016-09-17 78 views
0

我正在尝试使用Databricks XML文件读取器api。Spark 2.0 - Databricks xml读取器输入路径不存在

示例代码:

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选项,但现在它抛出输入路径不存在。

它实际上是在项目根目录下查找的,为什么要查找项目根目录?

回答

0

最后它的工作..我们需要指定仓库目录以及传递加载方法中的绝对文件路径。我不确定什么是仓库目录的使用。

主要部分是我们不需要提供C:正如其他Stackoverflow答案所述。

工作代码:

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() 
相关问题