Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用spark读取Multilple json模式_Json_Scala_Amazon Web Services_Hadoop2_Amazon Emr - Fatal编程技术网

使用spark读取Multilple json模式

使用spark读取Multilple json模式,json,scala,amazon-web-services,hadoop2,amazon-emr,Json,Scala,Amazon Web Services,Hadoop2,Amazon Emr,软件配置: Hadoop distribution:Amazon 2.8.3 Applications:Hive 2.3.2, Pig 0.17.0, Hue 4.1.0, Spark 2.3.0 尝试使用多个json架构进行读取 val df=spark.read.option(“合并架构”, “true”).json(“s3a://s3bucket/2018/01/01/*”) 抛出一个错误 org.apache.spark.sql.AnalysisException: Unable to

软件配置:

Hadoop distribution:Amazon 2.8.3
Applications:Hive 2.3.2, Pig 0.17.0, Hue 4.1.0, Spark 2.3.0
尝试使用多个json架构进行读取

val df=spark.read.option(“合并架构”, “true”).json(“s3a://s3bucket/2018/01/01/*”)

抛出一个错误

org.apache.spark.sql.AnalysisException: Unable to infer schema for JSON. It must be specified manually.;
  at org.apache.spark.sql.execution.datasources.DataSource$$anonfun$9.apply(DataSource.scala:207)
  at org.apache.spark.sql.execution.datasources.DataSource$$anonfun$9.apply(DataSource.scala:207)
  at scala.Option.getOrElse(Option.scala:121)
  at org.apache.spark.sql.execution.datasources.DataSource.getOrInferFileFormatSchema(DataSource.scala:206)
  at org.apache.spark.sql.execution.datasources.DataSource.resolveRelation(DataSource.scala:392)
  at org.apache.spark.sql.DataFrameReader.loadV1Source(DataFrameReader.scala:239)
  at org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:227)
  at org.apache.spark.sql.DataFrameReader.json(DataFrameReader.scala:397)
  at org.apache.spark.sql.DataFrameReader.json(DataFrameReader.scala:340)

如何使用spark读取多个模式的json?

当您指向错误路径时(当数据不存在时),有时会发生这种情况。

一般来说,使用多个模式读取json不会有任何问题(您甚至不需要mergeSchema选项,它与拼花有关)。你能分享关于你的场景的更多细节吗?因为我无法重现这个错误,即使是在读取带有非常冲突的模式的json时。另外,你是否尝试在本地运行它,你是否得到了相同的错误?是的,我得到了。如果针对不同的模式运行,则会出现相同的错误。它适用于拼花文件。