什么是 Hive 查询语言:HiveQL Opera职权范围
什么是 Hive 查询语言 (HiveQL)?
蜂巢查询语言 (HiveQL) 是 Apache Hive 中的一种查询语言,用于处理和分析结构化数据。它将用户从 Map Reduce 编程的复杂性中解放出来。它重用了关系数据库中的常见概念,例如表、行、列和架构,以简化学习。Hive 提供了一个 CLI,用于使用 Hive 查询语言 (HiveQL) 编写 Hive 查询。
大多数交互都通过命令行界面 (CLI) 进行。通常,HiveQL 语法类似于 SQL 大多数数据分析师都熟悉的语法。Hive 支持四种文件格式:TEXTFILE,SEQUENCEFILE,ORC 和 RCFILE(记录列文件)。
对于单个用户元数据存储,Hive 使用 derby 数据库,而对于多用户元数据或共享元数据情况,Hive 使用 MYSQL。
内置 HiveQL Opera职权范围
Hive 提供了内置运算符,用于在 Hive 仓库内部的表上执行数据操作。
这些运算符用于对操作数进行数学运算,并将根据所应用的逻辑返回特定值。
以下是内置的主要类型 OperaHiveQL 中的 tors:
- 相关的 Opera职权范围
- 算术 Opera职权范围
- 合乎逻辑 Opera职权范围
- Opera复杂类型
- 复杂类型构造函数
相关的 OperaHive SQL 中的
我们使用关系运算符来进行两个操作数之间的关系比较。
- Opera等于、不等于、小于、大于……等
- 操作数类型均为这些中的数字类型 Opera躯干。
下表将提供有关关系运算符及其在 HiveQL 中的用法的详细信息:
内建的 Opera器 | 描述 | Operand |
---|---|---|
X=Y | TRUE
如果表达式 X 等同于表达式 Y 否则为 FALSE。 |
它接受所有原始类型 |
X != Y | TRUE
如果表达式 X 不等同于表达式 Y 否则为 FALSE。 |
它接受所有原始类型 |
X < Y | TRUE
如果表达式 X 小于表达式 Y 否则为 FALSE。 |
它接受所有原始类型 |
X <= Y | TRUE
如果表达式 X 小于或等于表达式 Y 否则为 FALSE。 |
它接受所有原始类型 |
X>Y | TRUE
如果表达式 X 大于表达式 Y 否则为 FALSE。 |
它接受所有原始类型 |
X>=Y | TRUE
如果表达式 X 大于或等于表达式 Y 否则为 FALSE。 |
它接受所有原始类型 |
X 为空 | 如果表达式 X 的计算结果为 NULL,则为 TRUE,否则为 FALSE。 | 它需要所有类型 |
X 不为空 | FALSE
如果表达式 X 计算结果为 NULL,否则为 TRUE。 |
它需要所有类型 |
X 喜欢 Y | TRUE
如果字符串模式 X 与 Y 匹配,否则为 FALSE。 |
仅接受字符串 |
X 类 Y | 如果 X 或 Y 为 NULL,则为 NULL;如果 X 的任何子字符串与 Java 正则表达式 Y,否则为 FALSE。 | 仅接受字符串 |
X 正则表达式 Y | 与 RLIKE 相同。 | 仅接受字符串 |
HiveQL 算法 Opera职权范围
我们使用算术运算符对操作数执行算术运算
- 算术运算,例如操作数之间的加、减、乘、除,我们使用这些 Opera躯干。
- 这些操作数类型均为数字类型 Opera职权范围
示例示例:
2 + 3 得出结果 5。
在此示例中,'+' 为运算符,2 和 3 为操作数。返回值为 5
下表将提供有关 Hive 查询语言中算术运算符的详细信息:
内建的 Opera器 | 描述 | Operand |
---|---|---|
X+Y | 它将返回 X 和 Y 值相加的输出。 | 接受所有数字类型 |
X - Y | 它将返回从 X 值中减去 Y 的输出。 | 接受所有数字类型 |
坐标系 | 它将返回 X 和 Y 值相乘的输出。 | 接受所有数字类型 |
X/Y | 它将返回 Y 除以 X 的输出。 | 接受所有数字类型 |
X % Y | 它将返回 X 除以 Y 后的余数。 | 接受所有数字类型 |
X&Y | 它将返回 X 和 Y 按位与的输出。 | 接受所有数字类型 |
X | Y | 它将返回 X 和 Y 按位或的输出。 | 接受所有数字类型 |
XYZ 轴 | 它将返回 X 和 Y 的按位异或的输出。 | 接受所有数字类型 |
~X | 它将返回 X 的按位非的输出。 | 接受所有数字类型 |
Hive QL 逻辑 Opera职权范围
我们使用逻辑运算符对操作数执行逻辑运算
- 操作数之间的逻辑运算,例如 AND、OR、NOT,我们使用这些 Opera躯干。
- 这些操作数类型均为 BOOLEAN 类型 Opera职权范围
下表将提供有关 HiveSQL 中逻辑运算符的详细信息:
运营商 | 描述 | OperaNDS |
---|---|---|
X 和 Y | 如果 X 和 Y 都为 TRUE,则为 TRUE,否则为 FALUE。 | 仅限布尔类型 |
X与Y | 与 X AND Y 相同,但这里我们使用 && 符号 | 仅限布尔类型 |
X 或 Y | 如果 X 或 Y 或两者为 TRUE,则为 TRUE,否则为 FALUE。 | 仅限布尔类型 |
X || 伊 | 与 X OR Y 相同,但这里我们使用 || 符号 | 仅限布尔类型 |
不是 X | 如果 X 为 FALSE,则为 TRUE,否则为 FALSE。 | 仅限布尔类型 |
!X | 与 NOT X 相同,但这里我们使用!符号 | 仅限布尔类型 |
Opera复杂类型的
下表将提供有关复杂类型的详细信息 Opera这些运算符将提供不同的机制来访问复杂类型中的元素。
运营商 | OperaNDS | 描述 |
---|---|---|
一个] | A 是数组,n 是整数类型 | 它将返回数组 A 中的第 n 个元素。第一个元素的索引为 0 |
M[键] | M 是一个地图并且密钥为 K 类型 | 它将返回属于映射中的键的值 |
复杂类型构造函数
下表将为我们提供有关复杂类型构造函数的详细信息。它将在复杂数据类型上构造实例。这些是复杂数据类型,例如数组、映射和结构类型 蜂房.
在本节中,我们将看到对复杂类型构造函数执行的操作。
运营商 | OperaNDS | 描述 |
---|---|---|
排列 | (值1,值2,…) | 它将创建一个包含给定元素的数组,如 val1、val2 |
创建_联合 | (标签,值1,值2,…) | 它将创建一个联合类型,其中包含标签参数提到的值 |
地图 | (键 1,值 1,键 2,值 2,…) | 它将使用操作数中提到的给定键/值对创建一个映射 |
命名结构 | (名称 1,值 1,名称 2,值 2,…) | 它将创建一个具有给定字段名称和操作数中提到的值的结构体 |
结构体 | (值1,值2,值3,…) | 使用给定的字段值创建一个结构体。结构体字段名称将为 col1、col2、。 |
总结
- Hive 查询语言 (HiveQL) 是一种 阿帕奇 Hive用于处理和分析结构化数据。
- Hive 提供了内置运算符,用于在 Hive 仓库内部的表上执行数据操作。
- 内置类型 OperaHiveQL 中的函数有:
- 相关的 Opera职权范围
- 算术 Opera职权范围
- 合乎逻辑 Opera职权范围
- Opera复杂类型
- 复杂类型构造函数