Tengo dos tablas en la colmena, ambos divididos por una Cadena que representa una marca de tiempo (yo uso una cadena en lugar de una marca de hora ya estoy usando las tablas de Cloudera Impala, que no admite tablas con particiones por una hora).

Las tablas se utilizan para almacenar una gran cantidad de datos en determinados intervalos de tiempo.
La primera tabla contiene los datos más recientes en mayor granularidad de tiempo, digamos 1 Minuto intervalos de tiempo y el segundo uno de los datos más antiguos en menor granularidad, digamos 1 hora en intervalos de tiempo aquí.

Así que tengo una pregunta, que resume los datos que es mayor que una cantidad específica de tiempo de 1 minuto y segmentos de tiempo así que tengo los datos para 1 hora a rodajas y lo inserta en mi tabla con los intervalos de tiempo de 1 hora.

Después de haber creado el 1 hora segmentos de tiempo, quiero borrar todos 1 minutos en intervalos de tiempo que figuran en el nuevo de 1 hora segmentos de tiempo. Y ya que la tabla de particiones por mi cadena que representa el tiempo, solo puedo soltar el acuerdo de las particiones.

Y sé que mi pregunta:

es posible que en la colmena para quitar particiones de alguna manera, como

 ALTER TABLE oneMinSlices DROP IF EXISTS PARTITION(time < 'YYYY-MM-DD HH:MM:SS')

gracias de antemano por su ayuda.

ps: si usted se está preguntando por qué estoy haciendo esto: los datos de crecimiento continuo, y si no eliminamos el 1 minutos en intervalos de tiempo, la tabla que contiene ellos se está extremadamente grande, causando a nuestra pregunta para que sea más lento y que necesita un montón de espacio.

OriginalEl autor user2239884 | 2013-04-10

2 Comentarios

  1. 1

    Tienes que escribir un script de shell para que .

    .hql archivo escriba debajo de consulta

    ALTER TABLE oneMinSlices DROP IF EXISTS PARTITION(time = '${hiveconf:timestamp}')
    

    Ahora pasar a la partición como argumento de línea de comandos de forma dinámica.

    hive -hiveconf timestamp=2013-04-22\ 05:12:20 -f hqlfilepath.hql
    

    Último paso es tomar a tomar la marca de tiempo de forma dinámica a partir de shell.

    Ejecutar el comando anterior hasta que su condición se cumple.

    OriginalEl autor Balaswamy Vaddeman

Dejar respuesta

Please enter your comment!
Please enter your name here