如何从Hive外部表的“非分区”列中删除数据?

时间:2018-07-13 11:14:25

标签: scala apache-spark hive

我已经在Hive中创建了一个按客户和月份划分的外部表。

该要求要求从该表中删除ID=201的数据,但没有按ID列进行分区。

我尝试处理插入覆盖,但无法正常工作。

我们正在使用Spark 2.2.0。

我该如何解决这个问题?

val sqlDF = spark.sql("select * from db.table")
val newSqlDF1 = sqlDF.filter(!col("ID").isin("201") && col("month").isin("062016"))
val columns = newSqlDF1.schema.fieldNames.mkString(",")
newSqlDF1.createOrReplaceTempView("myTempTable") --34 
spark.sql(s"INSERT OVERWRITE TABLE db.table PARTITION(client, month) select ${columns} from myTempTable")

0 个答案:

没有答案