Java 如何从数据集中删除某些记录?
在ApacheSpark上是否有任何特定的方法可以从数据集中删除记录?或者有其他方法可以实现吗?您可以使用Java 如何从数据集中删除某些记录?,java,apache-spark,dataset,Java,Apache Spark,Dataset,在ApacheSpark上是否有任何特定的方法可以从数据集中删除记录?或者有其他方法可以实现吗?您可以使用筛选方法生成一个没有这些记录的新数据集 请注意,数据集是不可变的,因此您不能修改它们(即删除记录)。您可以使用筛选方法生成没有这些记录的新数据集 请注意,数据集是不可变的,因此您不能修改它们(即删除记录)。Spark中的数据帧与RDD类似,因为它们本质上是不可变的数据结构。因此,创建一个新列或删除一行,或试图通过索引访问数据帧中的单个元素等事情不可能存在,因为这种矫揉造作违背了Spark的不
筛选方法生成一个没有这些记录的新数据集
请注意,数据集是不可变的,因此您不能修改它们(即删除记录)。您可以使用筛选方法生成没有这些记录的新数据集
请注意,数据集是不可变的,因此您不能修改它们(即删除记录)。Spark中的数据帧与RDD类似,因为它们本质上是不可变的数据结构。因此,创建一个新列或删除一行,或试图通过索引访问数据帧中的单个元素等事情不可能存在,因为这种矫揉造作违背了Spark的不变RDD原则
您唯一能做的就是使用filter之类的转换函数将其转换为所需的数据帧
val df=spark.read.json(“examples/src/main/test/employee.json”)
//将数据帧注册为SQL临时视图
df.createOrReplaceTempView(“员工”)
val sqlDF=spark.sql(“从客户id!=002的员工中选择*)
使用此代码,您可以删除customer_id=002的记录,并可以将过滤后的记录写入文件或表中
sqlDF.createOrReplaceTempView(“员工”)//创建员工视图
sqlDF.write.format(“parquet”).save(“employee.parquet”)//save it parquet fileSpark中的数据帧与RDD类似,因为它们本质上是一个不可变的数据结构。因此,创建一个新列或删除一行,或试图通过索引访问数据帧中的单个元素等事情不可能存在,因为这种矫揉造作违背了Spark的不变RDD原则
您唯一能做的就是使用filter之类的转换函数将其转换为所需的数据帧
val df=spark.read.json(“examples/src/main/test/employee.json”)
//将数据帧注册为SQL临时视图
df.createOrReplaceTempView(“员工”)
val sqlDF=spark.sql(“从客户id!=002的员工中选择*)
使用此代码,您可以删除customer_id=002的记录,并可以将过滤后的记录写入文件或表中
sqlDF.createOrReplaceTempView(“员工”)//创建员工视图
sqlDF.write.format(“parquet”).save(“employee.parquet”)//保存拼花文件