У меня есть продукт, рассчитанный на улей, с рейтингом.
Id, productid, rating, ProdBarCode
42 96 5 881107178
168 151 5 884288058
110 307 4 886987260
58 144 4 884304936
62 21 3 879373460
279 832 3 881375854
237 514 4 879376641
Я хочу написать запрос, чтобы найти средний рейтинг продукта для отдельного текстового файла с заголовком, используя hive -e"query" > output.txt
OUTPUTФормат: - |Productid|average rating|
Решение:
hive -e " select C.value from (select 1 key, '|Productid|average rating|' value union all select 2 key , concat('|',concat_ws('|', Productid, averagerating),'|') value from (select CAST(A.productid AS STRING) AS Productid, CAST(A.averagerating AS STRING) AS averagerating from (select productid, avg(rating) averagerating from product group by productid sort by productid ) AS A where A.averagerating > 2) B sort by key) C " > output.txt
Правильно ли выполнен этот запрос? Есть ли другой простой способ перенаправить вывод в текстовый файл с пробелами (заголовок и имя столбца имеют пробелы (средний рейтинг)?
Любое предложение