Spark Добавить метаданные в файлы паркета / ORC - PullRequest
1 голос
/ 23 апреля 2019

Ежедневно мне нужно обобщать действия клиентов для разных вариантов использования. Чтобы сохранить / не перезаписать, я проверяю, что каждый раз, когда я пишу в паркет (с разбивкой по дате), я удаляю все предыдущие данные, которые я сохранил на эту дату. Тем не менее, для некоторых случаев использования у меня есть проблемы, связанные с вышеуказанным.

  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 часа, и эта информация уже существует, я хочу удалить только эту информацию, а не все в расположении файла.

...