Numéro de ligne de la fonctionnalité dans la Ruche
Comment puis-je générer les numéros de ligne pour une table existante lors de l'exécution d'une requête select?
Par exemple:
select row_number(), * from emp;
Je suis l'aide de la ruche de 0,13. Je ne peux pas accéder externe des pots ou des fonctions définies par l'utilisateur dans mon environnement.
Les fichiers sous-jacents sont en parquet format.
Merci d'avance!
Si vous essayez d'exécuter ce genre de fonctions analytiques sur de grands ensembles de données (c'est à dire plus de 50 millions de lignes), alors attention pour tester votre cohérence des données. J'ai vu subtiles corruption de données se produire dans un déterministe avec V0.13 et V0.14 -- les numéros des lignes ont été dans l'ordre, mais quelques milliers de lignes, a été supprimée et remplacée par une copie d'autres lignes. Mais qui peuvent être spécifiques à la Ruche-sur-TEZ.
OriginalL'auteur Gayatri Mahesh | 2016-05-27
Vous devez vous connecter pour publier un commentaire.
ROW_NUMBER()
est un la fonction de fenêtrage il doit donc être utilisé en conjonction avec unOVER
clause. Il suffit de ne pas préciser toutPARTITION
.SELECT *, ROW_NUMBER() OVER (ORDER BY some_emp_field) AS row_num FROM emp
OriginalL'auteur gobrewers14
row_number() peut être utilisée pour trouver par exemple, la récente visite d'un utilisateur sur votre site.
J'ai ajouté une couche supplémentaire d'explication à ma réponse , générer de la fonction row_number et de donner un sens hors de lui. Espérons que cela aide 🙂
Veuillez envisager d'ajouter un commentaire , comment cette réponse peut-elle être améliorée?
Au moins utile pour moi.
OriginalL'auteur syadav