Optimización de unión de colmena

Tengo dos conjuntos de datos almacenados en un depósito de S3 que necesito procesar en Hive y almacenar la salida de nuevo en S3. Las filas de muestra de cada conjunto de datos son las siguientes:

DataSet 1: {"requestId":"TADS6152JHGJH5435", "customerId":"ASJHAGSJH","sessionId":"172356126"}

DataSet2: {"requestId":"TADS6152JHGJH5435","userAgent":"Mozilla"}

Necesito unir estos dos conjuntos de datos basados en elrequestId y generar una fila combinada como:

Output:  {"requestId":"TADS6152JHGJH5435", "customerId":"ASJHAGSJH","sessionId":"172356126","userAgent":"Mozilla"}

RequestIds en el conjunto de datos 1 es unsubconjunto propio de los requestids en el conjunto de datos 2. Estoy usando unLEFT OUTER JOIN para obtener mi salida Aquí hay una versión simplificada de mi script Hive:

CREATE EXTERNAL TABLE dataset1 (
     requestId string,
     customerId string,
     sessionId string
 )
LOCATION 's3://path_to_dataset1/';

CREATE EXTERNAL TABLE dataset2 (
     requestId string,
     userAgent string
 )
LOCATION 's3://path_to_dataset2/';

CREATE EXTERNAL TABLE output (
     requestId string,
     customerId string,
     sessionId string,
     userAgent string
 )
LOCATION 's3://path_to_output/';

INSERT OVERWRITE TABLE output
  SELECT d1.requestId, d1.customerId, d1.sessionId, d2.userAgent
  FROM dataset1 d1 LEFT OUTER JOIN dataset2 d2
  ON (d1.requestId=d2.requestId);

Mi pregunta es:

¿Hay oportunidades para optimizar esta unión? ¿Puedo usar la división / agrupación de las tablas para ejecutar la unión más rápido? Yo he puestohive.auto.convert.join atrue en mi guion ¿Qué otras propiedades de la colmena debo configurar para obtener un mejor rendimiento para las consultas anteriores?

Respuestas a la pregunta(1)

Su respuesta a la pregunta