Hadoop教程
HBase
Hive
Pig
Sqoop
Spark

HiveQL-JOIN

HiveQL Join子句用于根据两个或多个表之间的相关列合并数据。 HiveQL联接的各种类型为:-
内部联接 左外部联接 右外连接 完全外部联接
在这里,我们将在下表的记录上执行join子句:
HiveQL-JOIN
HiveQL-JOIN

HiveQL中的内部联接

HiveQL内部联接用于返回满足联接条件的多个表的行。换句话说,连接条件在每个要连接的表中找到匹配记录。
HiveQL-JOIN

在Hive中进行内部联接的示例

在此示例中,我们采用了两个表employee和employee_department。雇员表的主键(empid)代表雇员部门表的外键(depid)。让我们通过以下步骤执行内部联接操作:-
选择要在其中创建表的数据库。
hive> use hiveql;

HiveQL-JOIN 现在,使用以下命令创建表:
hive> create table employee(empid int, empname string , state string)
row format delimited
fields terminated by ',' ;

HiveQL-JOIN 将相应的数据加载到表中。
hive> load data local inpath '/home/codegyani/hive/employee' into table employee;

HiveQL-JOIN 现在,使用以下命令创建另一个表:
hive> create table employee_department(depid int, department_name string)
row format delimited
fields terminated by ',' ;

HiveQL-JOIN 将相应的数据加载到表中。
hive> load data local inpath '/home/codegyani/hive/employee_department' into table employee_department;

HiveQL-JOIN 现在,使用以下命令执行内部联接操作:-
hive>select  e1.empname, e2.department_name from employee e1 join employee_department e2 on e1.empid= e2.depid;

HiveQL-JOIN
HiveQL-JOIN
HiveQL-JOIN

HiveQL中的左外部联接

HiveQL左外部联接返回左(第一)表中的所有记录,仅返回右(第二)表中的联接条件找到匹配。
HiveQL-JOIN

左外连接示例蜂巢

在此示例中,我们执行左外部联接操作。
让我们使用以下命令执行左外部联接操作:-
hive> select  e1.empname, e2.department_name from employee e1 left outer join employee_department e2 on e1.empid= e2.depid;

HiveQL-JOIN
HiveQL-JOIN
 HiveQL-JOIN

HiveQL中的右外部联接

HiveQL右外部联接返回右(第二个)表中的所有记录,仅返回左(第一)表格中联接条件找到匹配项。
HiveQL-JOIN

左外连接示例蜂巢

在此示例中,我们执行左外部联接操作。
让我们使用以下命令执行左外部联接操作:-
hive> select  e1.empname, e2.department_name from employee e1 right outer join employee_department e2 on e1.empid= e2.depid;

HiveQL-JOIN
HiveQL-JOIN
 HiveQL-JOIN

完全外部联接

HiveQL完全外部联接返回两个表中的所有记录。它为任一表中的丢失记录分配Null。
HiveQL-JOIN

完全外部连接示例蜂巢

在此示例中,我们执行完整的外部联接操作。
让我们使用以下命令执行完整的外部联接操作:-
select  e1.empname, e2.department_name from employee e1 full outer join employee_department e2 on e1.empid= e2.depid;

HiveQL-JOIN
HiveQL-JOIN
 HiveQL-JOIN
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4