什么是 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复杂类型
  • 复杂类型构造函数