Comment PIVOT de données dans la Ruche
Comment faites-PIVOT de la fonctionnalité dans HiveQL. Voici une Requête SQL et merci de m'aider dans la réalisation de cette Ruche:
CREATE TABLE Product(Cust VARCHAR(25), Product VARCHAR(20), QTY INT)
GO
-- Inserting Data into Table
INSERT INTO Product(Cust, Product, QTY) VALUES('KATE','VEG',2)
INSERT INTO Product(Cust, Product, QTY) VALUES('KATE','SODA',6)
INSERT INTO Product(Cust, Product, QTY) VALUES('KATE','MILK',1)
INSERT INTO Product(Cust, Product, QTY) VALUES('KATE','BEER',12)
INSERT INTO Product(Cust, Product, QTY) VALUES('FRED','MILK',3)
INSERT INTO Product(Cust, Product, QTY) VALUES('FRED','BEER',24)
INSERT INTO Product(Cust, Product, QTY) VALUES('KATE','VEG',3)
GO
-- Pivot Table ordered by PRODUCT
SELECT PRODUCT, FRED, KATE FROM (
SELECT CUST, PRODUCT, QTY
FROM Product) up
PIVOT (SUM(QTY) FOR CUST IN (FRED, KATE)) AS pvt
ORDER BY PRODUCT
--Sortie Désirée:
Cust Produit QTÉ
KATE LÉGUMES 2
KATE SOUDE 6
KATE LAIT 1
KATE BIÈRE 12
FRED LAIT 3
FRED BIÈRE 24
KATE VEG 3
OriginalL'auteur Mujahid Basha Syed | 2013-03-27
Vous devez vous connecter pour publier un commentaire.
Ruche ne prend pas en charge le pivotement de cette façon. Si il y a un petit nombre de valeurs de pivot sur les résultats peut être fait avec des "si" ou de "cas" énoncés dans la requête. Cette approche ne fonctionnera pas pour une utilisation illimitée de l'inconnu ou ensemble de produits ou de clients.
Il y a un Jira problème demandant de PIVOT de soutien.
OriginalL'auteur John Meagher
Ce que vous avez vraiment besoin est de stocker votre contenu dans le fichier texte d'abord que la virgule (ou autre choix) comme ci-dessous:.
Kate,De Légumes,2
Kate,De La Soude,De 6
Kate, De Lait,1
Kate,De La Bière,12
Fred,Le Lait,3
Fred,De La Bière,Du 24
Kate,De Légumes,3
Après la dans la Ruche shell créer un tableau comme ci-dessous:
Ensuite (à supposer que vous le fichier est stocké localement comme /user/avkash/prodlist.txt vous pouvez charger des données de votre tableau comme ci-dessous:
Vérifier la table et les dossiers ci-dessous:
Après que vous pouvez exécuter votre autre requête de la ruche sur la Ruche shell pour atteindre votre objectif.
La réponse est sans rapport avec la question posée.
OriginalL'auteur AvkashChauhan