J'ai deux tables A et B qui ont la structure suivante.Comment joindre deux tables dans HIVE.
// Table A
Name Age actualdate no
// Table B
City sdate edate id
Je souhaite obtenir tous les champs de A et B à l'aide REJOIGNEZ où id = non et sdate < = actualdate et MOIS.DECALER> = actualdate.
J'ai essayé comme ci-dessous en utilisant la clause where, mais il ne fonctionne pas.
select v3.*, t3.* from A v3
JOIN
B t3
where v3.id = t3.no and
v3.sdate <= t3.actualdate and
v3.edate >= t3.actualdate
limit 1;
L'utilisation Article:
select v3.*, t3.* from A v3
JOIN
B t3
ON (v3.id = t3.no and
v3.sdate <= t3.actualdate and
v3.edate >= t3.actualdate)
limit 1;
Malheureusement, Hive ne supporte pas équijointure. Existe-t-il un moyen d'obtenir les jointures ci-dessus?
ce qui est l'erreur que vous obtenez lorsque vous essayez de faire la jonction? –
Lorsque j'utilise la clause « ON », je reçois erreur: Failed: Erreur dans l'analyse sémantique: alias ligne droite et à gauche Rencontrés dans JOIN actualdate. et quand j'utilise la clause "WHERE", ce n'est pas une erreur de lancer mais je n'obtiens aucun résultat. Mais je si je retire la partie « et v3.sdate <= t3.actualdate et v3.edate> = t3.actualdate » de « ON » clause, il fonctionne très bien, mais sans vérification de condtion. – Ronak