2016-09-17 4 views
0

J'essaie d'utiliser le lecteur de fichiers XML Databricks.Spark 2.0 - Lecteur de xml Databricks Le chemin d'entrée n'existe pas

Exemple de code:

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() 

Si je donne le chemin du fichier directement, sa recherche d'un répertoire d'entrepôt. donc j'ai mis l'option spark.sql.warehouse.dir, mais maintenant il jette le chemin d'entrée n'existe pas.

En fait, il cherche dans le répertoire racine du projet, pourquoi cherche-t-il le répertoire racine du projet?

Répondre

0

Enfin son fonctionnement .. Nous devons spécifier le répertoire de l'entrepôt ainsi que le chemin absolu du fichier dans la méthode de chargement. Je ne suis pas sûr de l'utilisation du répertoire d'entrepôt.

La partie principale est nous ne devons pas donner C: comme mentionné par l'autre réponse de Stackoverflow.

Code de travail:

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()