如何基于多个JSON文件创建DataFrame

时间:2018-02-02 13:23:53

标签: json scala apache-spark spark-dataframe

我在文件夹中有很多JSON文件。它们都具有相同的结构。现在我想创建DataFrame,每个JSON文件应该是此DataFrame的行。

我知道如何基于单个JSON字符串创建DataFrame,但我不知道如何处理多个JSON字符串:

import spark.implicits._
val jsonStr = """{ "key": 111, "value": 54, stamp: "aaa"}"""
val df = spark.read.json(Seq(jsonStr).toDS)

1 个答案:

答案 0 :(得分:1)

假设您的JSON位于文件夹src/main/resources

以下代码将产生所需的结果:

  private val df: DataFrame = spark.read.json("src/main/resources")
  df.show()

+---+-----+-----+
|key|stamp|value|
+---+-----+-----+
|111|  aaa|   54|
|111|  aaa|   54|
+---+-----+-----+

请注意,JSON应该是机器可读的,而不是人类可读的(这意味着JSON不应该有新的行字符。