使用 Scala 从嵌套 JSON 到 Spark 中的 TempView 的数据传输



我正在尝试从数据帧读取JSON文件。

My Code:
package Stream
import org.apache.spark.sql.SparkSession
import org.apache.spark.sql.functions.col
object SparkRestApi {
def main(args: Array[String]): Unit = {
implicit val formats = org.json4s.DefaultFormats
val spark = SparkSession.builder()
.appName("blah")
.config("spark.driver.memory", "2g")
.master("local[*]")
//.enableHiveSupport()
.getOrCreate()
import spark.implicits._
val StreamDF = spark.read.option("multiLine", true).json("D:/myfolder/DataStream.json")

val SOLA= StreamDF.select(col("association_score.overall").as("association_score"),
col("disease.activity").as("activity"),
col("disease.id").as("Disease_id"),
col("Disease.element").as("Disease_element"),
col("target.name").as("target_name")).show()

错误 线程"main"中的异常 org.apache.spark.sql.AnalysisException: 无法解析 'association_score' 给定输入列:[采取、数据、查询、从、下一个、data_version、总计、大小];;

非常感谢是否有人建议如何将数据带到数据帧或从JSON文件创建或替换临时视图

谢谢

@DataQuest5如果您观察架构,association_score放置

如下数据 -> association_score

因此,您必须将 col 名称从 association_score.total 更正为 data.association_score.total 法典:

val SOLA= StreamDF.select(col("data.association_score.overall").as("association_score"),
.
.
.
).show()

注意:其他字段也是如此。

最新更新