Parsen von json in spark

War ich mit json-scala-Bibliothek zum Parsen der json-von einem lokalen Laufwerk in spark job :

val requestJson=JSON.parseFull(Source.fromFile("c:/data/request.json").mkString)
    val mainJson=requestJson.get.asInstanceOf[Map[String,Any]].get("Request").get.asInstanceOf[Map[String,Any]]
    val currency=mainJson.get("currency").get.asInstanceOf[String]

Aber wenn ich versuche, mit dem gleichen parser, indem Sie auf hdfs Speicherort der Datei das es nicht funktioniert:

val requestJson=JSON.parseFull(Source.fromFile("hdfs://url/user/request.json").mkString)

und gibt mir eine Fehlermeldung:

java.io.FileNotFoundException: hdfs:/localhost/user/request.json (No such file or directory)
  at java.io.FileInputStream.open0(Native Method)
  at java.io.FileInputStream.open(FileInputStream.java:195)
  at java.io.FileInputStream.<init>(FileInputStream.java:138)
  at scala.io.Source$.fromFile(Source.scala:91)
  at scala.io.Source$.fromFile(Source.scala:76)
  at scala.io.Source$.fromFile(Source.scala:54)
  ... 128 elided

Wie kann ich die Json verwenden.parseFull Bibliothek, um Daten aus dem hdfs-Datei Speicherort ?

Dank

Sie sollten` auf` Lage wie dieser hdfs://cluster_name/path/to/file' oder geben Sie einfach die Verzeichnis-Namen wie /path/to/file/. Plz versuchen Sie es und lassen Sie mich wissen, ich werde ans entsprechend.
ja, ich habe versucht, die hdfs-Pfad zu Quelle.fromFile api, aber es funktioniert nicht
Könnten Sie in der Lage sein, um post-error-log ?
java.io.FileNotFoundException: hdfs:/hdfsurl/user/request.json (Keine solche Datei oder Verzeichnis) auf java.io.FileInputStream.open0(Native Method) bei java.io.FileInputStream.open(FileInputStream.java:195) bei java.io.FileInputStream.<init > (FileInputStream.java:138) at scala.io.Source$.fromFile(Quelle.scala:91) in der scala.io.Source$.fromFile(Quelle.scala:76) in der scala.io.Source$.fromFile(Quelle.scala:54) ... 128 erstellte

InformationsquelleAutor baiduXiu | 2017-01-04

Schreibe einen Kommentar