Spark将元数据添加到Parquet / ORC文件

时间:2019-04-23 13:33:46

标签: apache-spark hadoop pyspark apache-spark-sql

我每天需要总结各种用例的客户活动。为了保持/不覆盖,我确保每次写入镶木地板时(按日期划分)都删除该日期存储的所有先前数据。但是,对于某些用例,我在执行上述操作时遇到了问题。

  1. 我想每小时为客户存储一次活动
  2. 我想每分钟为每位客户存储活动

我想将它们都存储在同一分区中。

示例代码

def delete_and_write(file_location):
      #1. if file_location exists delete
      #2. Write below
      df.repartition(1)
        .write.partitionBy("date")
        .save(file_location, format=file_format, mode='append', header='true')

我想做类似以下的事情

def delete_and_write():
    #1. If file with specific meta data info exists delete
    #2. Write data with meta data such 1 hour window or so

因此,基本上我不想删除文件(如果文件位于某个位置),而是只删除具有特定信息/元数据的文件部分。这可能吗?例如,如果我要在1小时内编写客户活动,并且此信息已经存在,那么我只想删除此信息,而不要删除文件位置中的所有信息。

0 个答案:

没有答案