`

Hive 连接查询操作(不支持IN查询)

 
阅读更多
CREATE EXTERNAL TABLE IF NOT EXISTS a( 
telno STRING, 
other STRING 
)
PARTITIONED BY(day String) 
ROW FORMAT DELIMITED FIELDS TERMINATED BY '|'; 

CREATE EXTERNAL TABLE IF NOT EXISTS b( 
telno STRING, 
other STRING 
)
PARTITIONED BY(day String) 
ROW FORMAT DELIMITED FIELDS TERMINATED BY '|'; 


测试表a中数据如下:
hive> select * from a;
OK
130 a 01
131 b 01
132 c 01
133 d 01
134 e 01
135 f 01
Time taken: 0.215 seconds

测试表b中数据如下:
hive> select * from b;
OK
130 a 01
131 b 01
132 c 01
133 02
134 02
135 02
Time taken: 0.281 seconds

测试表b中分区数据如下:
hive> select * from b where day='01';
OK
130 a 01
131 b 01
132 c 01
Time taken: 0.359 seconds

测试表b中分区数据如下:
hive> select * from b where day='02';
OK
133 02
134 02
135 02
Time taken: 0.187 seconds

测试语句如下:
1.左连接不指定条件
hive> select a.telno,b.other,a.day,b.day from a left outer join b on(a.telno=b.telno) ;
OK
130 a 01 01
131 b 01 01
132 c 01 01
133 01 02
134 01 02
135 01 02
Time taken: 8.935 seconds

2.左连接指定连接条件(on中)
hive> select a.telno,b.telno,b.other,a.day,b.day from a left outer join b on(a.telno=b.telno and b.day='02');
OK
130 NULL NULL 01 NULL
131 NULL NULL 01 NULL
132 NULL NULL 01 NULL
133 133 01 02
134 134 01 02
135 135 01 02
Time taken: 12.624 seconds

3.左连接指定连接条件(on外)
hive> select a.telno,b.telno,b.other,a.day,b.day from a left outer join b on(a.telno=b.telno ) where b.day='02';
OK
133 133 01 02
134 134 01 02
135 135 01 02
Time taken: 8.88 seconds


分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    部分普通sql查询在hive中的实现方式

    - **背景**:Hive不支持直接使用`HAVING`关键字,但可以通过嵌套子查询并在外层查询中使用`WHERE`条件来实现类似的功能。 - **示例**:如果想实现如下标准SQL的`HAVING`查询: ```sql SELECT gender, COUNT(*) as...

    DataGrip连接Hive所需jar包

    通过以上步骤和知识,你应该能够成功地在DataGrip中配置Hive连接,并开始你的大数据分析之旅。在实际操作中,你可能还会遇到如权限问题、网络问题等挑战,但有了正确的JAR包和配置,这些问题都能迎刃而解。

    hive 操作相关的测试数据集

    7. **分区与桶**:分区有助于减少查询时的数据扫描量,而桶则是基于哈希函数对数据进行分组,可以加速连接操作。 8. **视图与索引**:Hive提供视图功能,可以创建逻辑上的表,方便数据的访问。尽管Hive不支持传统的...

    centos7 pyhive连接hive(基于kerberos).docx

    接下来,我们将使用 PyHive 来编写一个简单的 Python 脚本来连接 Hive 并执行查询。 - **PyHive 脚本示例** ```python from pyhive import hive conn = hive.Connection( host='10.123.185.31', port=10000,...

    Hive使用手册Hive使用手册

    连接Hive通常通过Hive Shell或使用其他支持Hive的客户端如Beeline、Hue等。要连接Hive,你需要知道Hive服务器的地址、端口以及认证方式(如果有的话)。 2. **Hive支持的数据类型** - **原子数据类型** 包括:INT...

    HIVE文件读写

    同时,Hive也支持查询和导出数据,使得数据分析变得简单高效。 在Linux环境下,Hive的使用通常涉及到以下几个步骤: 1. 安装和配置Hadoop和Hive:在Linux服务器上安装Hadoop集群和Hive,确保所有依赖项正确配置,...

    hive基础查询文档上传

    Hive 给用户提供了类SQL的查询语言“HiveQL”,使不熟悉MapReduce的用户可以方便地利用Hive处理数据。 - **Hive基本操作**: - **创建数据库**:`CREATE DATABASE db_name;` - **使用数据库**:`USE db_name;` -...

    Hive用户指南 Hive user guide 中文版

    - Hive支持多种类型的连接操作,包括内连接、外连接等。 #### 五、Hive参数设置 - Hive提供了丰富的配置参数来调整其行为和性能。 #### 六、Hive UDF - **基本函数**:包括算术运算符、逻辑运算符、日期函数等。...

    HIVE从入门到精通.pdf

    - **集成步骤**:需要在Hive中配置相应的连接器,以便能够识别HBase表结构并进行查询。 #### 四、Hive创建目录和表 - **创建目录**:Hive使用HDFS作为其底层存储,因此创建目录实际上是在HDFS中创建目录。 - **...

    Hive-Tutorial-官方

    - **非在线事务处理系统**:Hive 并未设计用于在线事务处理,也不支持实时查询和行级更新。它最适合用于处理大量不可变数据(如 Web 日志)的批量作业。 #### 二、入门指南 ##### 2.1 数据类型、表和分区 Hive ...

    深入浅出 Hive

    - 分区:Hive 支持基于列的分区,以提高查询效率。例如 `CREATE TABLE t3 (id int, date string) PARTITIONED BY (dt string)`。 - 分桶:可以将数据划分为若干个桶,便于并行处理和优化 joins。 - 数据加载与...

    Hive配置和基本操作.docx

    10. Hive支持多种类型的JOIN操作,包括内连接、左连接、右连接和全连接,这在大数据分析中极为重要。 此外,`Explain`语句用于查看查询计划,帮助理解Hive如何执行SQL查询,这对于优化查询性能很有帮助。Hive的这些...

    Hive教程.pdf

    - Hive支持内连接(INNER JOIN)、左连接(LEFT JOIN)、右连接(RIGHT JOIN)以及全连接(FULL OUTER JOIN),但在某些情况下可能需要特殊处理以避免数据倾斜。 - **Inner Join**: - `SELECT t1.*, t2.* FROM ...

    Hive用户指南(Hive_user_guide)_中文版

    - **8.5 DML操作**:Hive不支持传统的DML操作。 - **8.6 HAVING**:用于过滤聚合后的结果。 - **8.7 子查询**:使用子查询时需注意性能问题。 - **8.8 Join中处理null值的语义区别**:Hive处理NULL值的方式可能与...

    hive操作指南

    - Hive不支持更新和删除操作。 - **8.6 HAVING** - 用于过滤聚合后的结果集。 - **8.7 子查询** - Hive支持子查询,但在某些情况下可能会导致性能问题。 - **8.8 Join中处理null值的语义区别** - Hive在处理null...

    hive 整合 hbase

    - **非关系型数据库**:HBase不支持SQL查询语言,而是通过API来操作数据。 - **列式存储**:数据按列族存储,同一列族的数据会被存储在一起。 - **面向列族**:表中的每一行都有一个可排序的主键和任意多的列。列...

    Hive用户指南(Hive_user_guide)_中文版.pdf

    Hive与传统关系数据库管理系统(RDBMS)有相似之处,比如支持表的创建、数据的插入、查询等操作,但它们也存在差异。Hive主要用于分析大数据集,而传统数据库更适合事务处理。Hive对SQL的支持是有限的,只能执行...

    Hive配置和基本操作 (2).pdf

    总之,Hive的配置涉及到环境变量设置、配置文件修改、数据库连接配置等多个环节,而其基本操作则涵盖了数据仓库的常用功能,如数据表的创建、数据加载、查询及管理。通过合理配置和使用,Hive能有效地支持大数据的...

    Hive语法详解.docx (排版清晰,覆盖全面,含目录)

    - **非事务性操作**:不支持回滚和隔离性。 **5.2 Hive权限管理** - **三种授权模型**:基于文件系统、基于Hive元数据存储和基于LDAP/AD。 - **角色的添加、删除、查看、设置**:通过GRANT和REVOKE命令管理角色...

Global site tag (gtag.js) - Google Analytics