Boucle à l'aide de Hiveql
Je suis en train de fusionner les 2 jeux de données, disons A et B. L'ensemble de données d'Une variable "Drapeau" qui prend 2 valeurs. Plutôt que de baie vitrée, de la fusion de ces deux données ensemble, j'ai essayer de fusionner les 2 jeux de données basés sur le "drapeau" à la variable.
La fusion de code est le suivant:
create table new_data as
select a.*,b.y
from A as a left join B as b
on a.x=b.x
Depuis que je suis en cours d'exécution de la Ruche de code via la CLI, j'appelle cela par le biais de la commande suivante
hive -f new_data.hql
La boucle de la partie du code que je vais appeler pour fusionner les données basées sur le "Drapeau" de la variable est la suivante:
for flag in 1 2;
do
hive -hivevar flag=$flag -f new_data.hql
done
J'ai mis le code ci-dessus dans un autre ".hql" fichier asn en l'appelant:
hive -f loop_data.hql
Mais c'est jeter de l'erreur.
ne peut pas reconnaître d'entrée de proximité 'pour' '' 'en'
Quelqu'un peut-il me dire où je fais erreur.
Merci!
Merci beaucoup pour le commentaire. Je suis en cours d'exécution de la ruche de code au moyen de mastic. Pourriez-vous nous expliquer ce qu'entendez-vous par script shell? Je suis technologiquement peu novice.
le drapeau de la variable a 2 valeurs 1 et 2 à droite ?Qui est un des critères de filtre dans la requête de la ruche à droite ?.
Vous êtes de droite. Drapeau a 2 variables et il est les critères de filtre. L'idée est de casser les données par drapeau et de fusionner les données pour chacune de ces partitions.
ensuite, vous pouvez ajouter le critère de filtre dans la requête de la ruche et de faire de la fusion dans la requête elle-même, puis exécutez la requête à l'aide de la ruche -f <> le seul.
OriginalL'auteur Beta | 2016-02-25
Vous devez vous connecter pour publier un commentaire.
Nom de fichier: loop_data.sh
Et exécuter le script comme:
DDL: create_new_data.hql
DML: insert_new_data.hql
Et mise à jour d'un script shell comme:
Nom de fichier: loop_new_data.sh
Et de l'exécuter comme:
Laissez-moi savoir si vous voulez plus d'info.
comment puis-je utilisé il de la ruche shell
veuillez préciser votre question.
la solution ci-dessus est pour la ligne de commande, mais je suis en utilisant des requêtes hive sur la ruche shell
OriginalL'auteur Ambrish