La Red de Conocimientos Pedagógicos - Currículum vitae - Formatos de fila HIVE y SerDe

Formatos de fila HIVE y SerDe

Serde es la abreviatura de Serializer/Deserializer. hive usa Serde para secuenciar y deserializar objetos de fila.

La serialización es el proceso de convertir un objeto en una secuencia de bytes.

La serialización es el proceso de restaurar una secuencia de bytes en un objeto.

La serialización de objetos tiene dos usos principales: persistencia de objetos, es decir, convertir el objeto en una secuencia de bytes y guardarlo en un archivo, y transmisión de datos del objeto en red;

Además de los dos puntos anteriores, las funciones de serialización de Hive también incluyen: La deserialización de Hive es deserializar la clave/valor en el valor de cada columna de la tabla de Hive. Hive puede cargar datos fácilmente en tablas sin convertirlos, lo que puede ahorrar mucho tiempo al procesar datos masivos.

SerDe explica cómo Hive procesa un registro, incluidas las dos funciones de Serialize/Deserilize. Serialize convierte el objeto Java utilizado por Hive en una secuencia de bytes que se puede escribir en hdfs o en un archivo continuo que se puede escribir. reconocido por otros sistemas. Deserilize convierte cadenas o flujos binarios en objetos Java que Hive puede reconocer. Por ejemplo: la declaración de selección usará el objeto Serialize para analizar los datos HDFS; la declaración de inserción usará Deserilize, y los datos se escribirán en el sistema HDFS y los datos deben serializarse.

Al leer un archivo HDFS, la parte clave se ignorará. Al escribir HDFS, la clave siempre es una constante y los datos generales de la fila se almacenan en el valor.

Puede utilizar Serde definido por el usuario o Serde nativo al crear una tabla. Si no se especifica FORMATO DE FILA o FORMATO DE FILA DELIMITADO, se utilizará Serde nativo. hive ha implementado muchos serde personalizados, que también mencionamos al presentar el almacenamiento anterior:

Use expresiones regulares para serializar datos de fila, como se muestra en el siguiente ejemplo:

Almacene texto en formato json Archivo

Almacena archivos de texto en formato CSV/TSV.

FORMATO DE FILA SERDE

'org.apache.hadoop.hive.serde2.OpenCSVSerde'

ALMACENADO COMO ARCHIVO DE TEXTO

El siguiente ejemplo crea un archivo tsv, el valor predeterminado es el delimitador del archivo csv

CSVSerde de Hive se implementa en base a csv-serde.

Finalmente, se adjunta la explicación de Facebook sobre serde en la reunión de usuarios de Hive de agosto de 2009.