Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.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
Apache spark 清理spark中的JSON对象?_Apache Spark_Pyspark_Apache Spark Sql - Fatal编程技术网

Apache spark 清理spark中的JSON对象?

Apache spark 清理spark中的JSON对象?,apache-spark,pyspark,apache-spark-sql,Apache Spark,Pyspark,Apache Spark Sql,我的任务是在Spark中重新格式化1亿个JSON对象。输入JSON对象的示例 { name: 123, schools: [ { Id: 1, deleted: 1, ... }, { Id: 2, deleted: 0, ... } ] } 例外输出: { name: 123, schools: [ { Id: 2, deleted: 0

我的任务是在Spark中重新格式化1亿个JSON对象。输入JSON对象的示例

{
  name: 123,
  schools: [
    {
      Id: 1,
      deleted: 1,
      ...
    },
    {
      Id: 2,
      deleted: 0,
      ...
    }
  ]
}
例外输出:

{
  name: 123,
  schools: [
    {
      Id: 2,
      deleted: 0,
      ...
    }
  ]
}

删除/删除1所学校。有可能在Spark中这样做吗?我是新手,非常感谢您的帮助

我想让您了解一下spark

使用spark可以轻松完成任务。 如果您使用的是scala lang,那么请创建一个定义输入模式的。 或者,如果您使用的是java语言,那么就创建一个可序列化的语言

scala抽象代码:

 case class Data( // define schema fields here)
   
   import spark.implicits._
   val inputDF = spark.read.json(inputFile).as[Data]
   val finalDF = inputDF.map(data => {
      data.schools = data.schools.filter(x => !x.deleted)
      data
      //or you can create new object and update school object in ti
   })
   finalDF.write.json(oploc)

如果您有嵌套对象,请阅读spark编码器,因为我们需要明确告诉spark如何编码和解码此类复杂对象。

您做了什么?你试过读json吗?你是怎样努力做到这一点的?为什么两个Id都是1??只要删除
已删除的数组中的每个成员:1