Оптимизация нескольких соединений в HiveQL

#sql #join #hive #hiveql

Вопрос:

У меня есть 3 стола, Еда, Счет и Филиал.

 Food | foodID | productCode | foodName | foodQty | | -------- | -------------- | --------- | -------- | | 1 | 000001 | Mozerella | 50 | | 2 | 000002 | Tomato | 40 | | 3 | 000003 | flour | 60 |  Invoice | id | foodID | branchID | qtySold | | ------ | ------- | -------- | -------- | | 1 | 1 | 2 | 3.5 | | 2 | 3 | 2 | 1.5 | | 3 | 3 | 5 | 2 | | 4 | 2 | 5 | 5.5 |  Branch | branchID | branchName | | -------- | ---------- | | 1 | branch1 | | 2 | branch2 | | 3 | branch3 |  

Мне нужно написать инструкцию HiveQL, чтобы получить следующий вывод

 | productCode | productName | branchName | total quantity sold | | ----------- | ----------- | ---------- | ------------------- |  

Это мое заявление HiveQL

 Select f.productCode as productCode, f.productName as productName, b.branchName as branchName,  SUM(i.qtySold) as qtySold  FROM Invoice i JOIN Food f ON (i.foodID = f.foodID)  JOIN Branch b ON (i.branchID = b.branchID)  

Существуют ли другие способы присоединения, которые потенциально могут увеличить скорость запроса?

Комментарии:

1. пожалуйста, добавьте вывод команды ОБЪЯСНИТЬ