Datos del registro de casos del modo HBase y datos de series temporales

Gracias por compartir la plataforma: http://bjbsair.com/2020-04-10/tech-info/53339.html

Este artículo le presenta uno de los casos del modo HBase: datos de registro y datos de series temporales

Suponga que se están recopilando los siguientes elementos de datos.

  • Nombre de host (nombre de host)
  • Marca de tiempo
  • Evento de registro
  • Valor / mensaje

Podemos almacenarlos en una tabla HBase llamada LOG_DATA, pero ¿cuál será rowkey? A partir de estos atributos, rowkey será una combinación de nombre de host, marca de tiempo y eventos de registro, pero ¿qué es exactamente?

Marca de tiempo en la posición dominante de Rowkey

rowkey [marca de tiempo] [nombre de host] [log-event] se ve afectado por el problema de la clave de fila creciente monotónicamente descrito en Datos de claves de fila / serie de tiempo que aumentan monotónicamente.

Al realizar operaciones de modificación en las marcas de tiempo, a menudo se menciona otro modo en las listas de destinación sobre marcas de tiempo de "bucketing". Si la exploración del tiempo es importante, este puede ser un método útil. Debe prestar atención a la cantidad de depósitos, ya que esto requiere la misma cantidad de exploraciones para devolver los resultados.

Caso de modo HBase: datos de registro y datos de series temporales

Construcción:

Caso de modo HBase: datos de registro y datos de series temporales

Como se mencionó anteriormente, para seleccionar datos para un rango de tiempo específico, debe realizar una exploración para cada segmento de almacenamiento. Por ejemplo, 100 depósitos de almacenamiento proporcionarán una amplia distribución en el espacio clave, pero requiere 100 escaneos para obtener una sola marca de tiempo de los datos, por lo que hay compensaciones.

Anfitrión en la posición dominante de Rowkey

Si hay una gran cantidad de hosts que escriben y leen en todo el espacio clave, rowkey [hostname] [log-event] [timestamp] es un candidato. Este método es muy útil si el escaneo por nombre de host es una prioridad.

Marca de tiempo o marca de tiempo inverso

Si la ruta de acceso más importante es extraer el evento más reciente, almacenar la marca de tiempo como una marca de tiempo inversa (por ejemplo, timestamp = Long.MAX_VALUE - timestamp) creará la capacidad de escanear [hostname] [log-event] para Los atributos del evento capturado más recientemente.

Ninguno de los métodos es incorrecto, solo depende de cuál sea la situación más adecuada.

API de exploración inversa

HBASE-4811 implementa una API que escanea una tabla o un rango de tablas en reversa, reduciendo así la necesidad de optimización de patrones para escaneo directo o inverso. Esta característica está disponible en HBase 0.98 y versiones posteriores.

Teclas de fila de longitud variable o de longitud fija

Recuerde, es muy importante agregar una contraseña de fila a cada columna de HBase. Si el nombre de host es a y el tipo de evento es e1, la clave de fila de resultado será pequeña. Pero, ¿qué sucede si el nombre de host ingerido es myserver1.mycompany.com y el tipo de evento es com.package1.subpackage2.subsubpackage3.ImportantService?

Puede tener sentido utilizar algunas sustituciones en rowkey. Hay al menos dos métodos: hash y número. En el nombre de host en el ejemplo de Posición de liderazgo de Rowkey, podría verse así:

Rowkey compuesto con hash:

  • [Hash MD5 del nombre del host] = 16 bytes ([Hash MD5 del nombre del host] = 16 bytes)
  • [Hash MD5 de tipo de evento] = 16 bytes ([Hash MD5 de tipo de evento] = 16 bytes)
  • [Marca de tiempo] = 8 bytes ([marca de tiempo] = 8 bytes)

Rowkey compuesto con sustitución numérica:

Para este método, además de LOG_DATA (llamado LOG_TYPES), se requiere otra tabla de búsqueda. La clave de fila de LOG_TYPES es:

  • [tipo], (por ejemplo, un byte que indica el nombre de host y el tipo de evento).
  • [bytes], bytes de longitud variable del nombre de host original o tipo de evento.

La columna de esta clave de fila puede ser un número entero largo con el número especificado, que se puede obtener utilizando el contador HBase.

Entonces, la clave de fila compuesta resultante será:

  • [Nombre de host sustituto largo] = 8 bytes ([nombre de host sustituto largo] = 8 bytes)
  • [Tipo de evento de reemplazo a largo plazo] = 8 bytes ([tipo de evento largo sustituido] = 8 bytes)
  • [Marca de tiempo] = 8 bytes ([marca de tiempo] = 8 bytes)

En el método de reemplazo hash o numérico, los valores originales del nombre de host y el tipo de evento se pueden almacenar como columnas.

Supongo que te gusta

Origin blog.51cto.com/14744108/2486399
Recomendado
Clasificación