2016-09-17 80 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() 
相關問題