Hive:Hive Shell技巧

在终端命令窗口不能直接执行select,creat等HQL命令,需要先进入hive之后才能执行,比较麻烦,但是如果使用Hive Shell就可以直接执行

在终端只执行一次Hive命令

-e 参数, "execute"(执行),使用-e参数后会在执行完Hive的命令后退出Hive

使用场景: 用Hive执行封装脚本

-S参数, "silent"(静默) , Hive 会减少输出的信息量,只显示查询结果,而不会显示额外的日志或进度信息。这在脚本中或需要最小化输出时非常有用

示例1

示例2

-S参数

在引号里面还需要套单引号时,单引号外层的引号使用双引号

示例3

在终端单独执行SQL文件

示例4

hql文件命名规范: 后缀名使用hql或sql

在Hive里执行终端命令

示例5

并非所有的Linux命令都能在Hive中运行,具体支持哪些命令可能取决于Hive的配置和运行环境

示例6

在终端执行HDFS命令

示例6

使用历史命令和补全命令

显示当前库

直接在hive里面使用ues shao,不显示库名,使用select不显示字段名

显示当前库的方法

方法1: 永久修改,直接修改hive的配置文件,如果是公司的服务器不建议修改

方法2:在当前会话里设置该参数

示例: 设置完参数后的效果

查看当前参数设置的值

local模式

本地模式可以提高查询效率 , 建议在进行hive操作前打开

在DataGrip等第三方使用命令时,前面加set

单独hive命令和sql文件的使用场景

启动MapReduce的情况

启动MapReduce的标志

比如示例3就启动了MapReduce

set mapreduce.job.reduces=<number>

用于在Hadoop的MapReduce作业中设置一个常量数量的reducer。在MapReduce编程模型中,作业通常分为两个阶段:map阶段和reduce阶段。map阶段负责处理输入数据并生成中间键值对,而reduce阶段则对map阶段输出的相同键的所有值进行归并和处理,生成最终结果。

Running with YARN Application = application_1729590859321_0044

表明作业是在 YARN 上运行的,YARN 是 Hadoop 的资源管理器,通常与 MapReduce 和 Spark 作业一起使用。

Spark job[0] status = RUNNING

表示正在运行的 Spark 作业。这表明 Hive 正在使用 Spark 作为执行引擎

STAGES: 01/01Stage-0

这表明作业被分成了一个或多个阶段(stage),这是 MapReduce 和 Spark 作业的典型特征。

Metrics

截图中显示了执行的指标,如 TaskDurationTime, ExecutorCpuTime, JvmGcTime, BytesRead 等。这些指标通常与分布式计算框架(如 MapReduce 和 Spark)相关。

Shuffle 信息

虽然截图中显示 ShuffleTotalBytesRead / ShuffleRecordsRead: 0 / 0ShuffleBytesWritten / ShuffleRecordsWritten: 0 / 0,这意味着在这个阶段没有发生 shuffle 操作,但这并不完全排除 MapReduce 的可能性,因为有些查询可能不需要 shuffle 阶段。

相关推荐
对许3 小时前
Hadoop的运行模式
大数据·hadoop·分布式
向日葵花子(* ̄︶ ̄)6 小时前
hive sql limit offset不起作用
hadoop
2302_799525747 小时前
【Hadoop】如何理解MapReduce?
数据库·hadoop·mapreduce
火龙谷8 小时前
hadoop第3课(hdfs shell常用命令)
hadoop·hdfs·npm
神秘打工猴9 小时前
数据仓库为什么要分层
大数据·数据仓库·spark
好记性+烂笔头18 小时前
Hive八股
hive
StableAndCalm19 小时前
什么是hive
数据仓库·hive·hadoop
好记性+烂笔头1 天前
Hadoop八股
大数据·hadoop·分布式
Python数据分析与机器学习1 天前
《基于Hadoop的出租车需求预测系统设计与实现》开题报告
大数据·hadoop·分布式·python·算法·数据挖掘·数据分析
StableAndCalm1 天前
什么是hadoop
大数据·hadoop·分布式