Hive语句前的常见设置

1.hive.cli.print.header=true
是否显示查询结果的列名,默认为不显示
2.set hive.exec.parallel=true;
参数控制在同一个sql中的不同的job是否可以同时运行,默认为false.
3.hive.map.aggr=true
决定是否可以在 Map 端进行聚合操作,从而减轻清洗阶段数据传输和Reduce阶段的执行时间,提升总体性能。
缺点:该设置会消耗更多的内存。
注:顶层的聚合操作(top-levelaggregation operation),是指在group by语句之前执行的聚合操作。
4.set hive.groupby.skewindata=true
操作是否支持倾斜的数据,数据倾斜,会启动一个优化程序,避免数据倾斜。
5.hive.exec.mode.local.auto = true
决定 Hive 是否应该自动地根据输入文件大小,在本地运行(在GateWay运行)
6.hive.auto.convert.join = true
是否根据输入小表的大小,自动将 Reduce 端的 Common Join 转化为 Map Join,从而加快大表关联小表的 Join 速度。
7.hive.mapred.local.mem
Mapper/Reducer 在本地模式的最大内存量,以字节为单位,0为不限制。
8.hive.default.fileformat
Hive 默认的输出文件格式,与创建表时所指定的相同,可选项为 ‘TextFile’ 、 ‘SequenceFile’ 或者 ‘RCFile’。
9.hive.mapred.mode
Map/Redure 模式,如果设置为 strict,将不允许笛卡尔积,’nonstrict’则允许笛卡尔积
10.hive.security.authorization.enabled
Hive 是否开启权限认证。
11.hive.exec.compress.output
决定查询中最后一个 map/reduce job 的输出是否为压缩格式。
12.hive.exec.compress.intermediate
决定查询的中间 map/reduce job (中间 stage)的输出是否为压缩格式。
13.hive.exec.parallel.thread.number
并发提交时的并发线程的个数。
14.hive.cli.encoding = ‘UTF8’
Hive 默认的命令行字符编码。
15.hive.log.plan.progress = true
是否记录执行计划的进度。 --------------------- 本文来自 pends 的优快云 博客 ,全文地址请点击:https://blog.youkuaiyun.com/ydq1206/article/details/78709493?utm_source=copy

<think>我们正在处理一个关于Hive查询表字段数据类型的问题。根据用户的需求,他想要知道在Hive中如何查看表字段的数据类型。根据Hive的文档和常见操作,我们可以使用以下方法: 1.使用`DESCRIBE`命令:这是最常用的方法,可以描述表的结构,包括字段名和数据类型。2.使用`DESCRIBE FORMATTED`或`DESCRIBEEXTENDED`:这些命令提供更详细的信息,包括数据类型和其他元数据。 具体到用户的问题,他想要查询表字段的数据类型,所以我们可以使用:```sqlDESCRIBE table_name;``` 或者,如果我们想要更详细的信息(包括注释、分区信息等): ```sqlDESCRIBEFORMATTEDtable_name; ```在引用[1]中,我们有一个创建表的例子,其中定义了各个字段的数据类型。在引用[2]中,有关于HQL查询语句的介绍,但并没有直接提到查看数据类型的方法。因此,我们主要依据Hive的标准语法来回答。另外,需要注意的是,在Hive中,我们也可以使用`SHOWCREATE TABLE`来查看建表语句,从而看到字段的数据类型,但这种方法会返回整个建表语句,可能不如`DESCRIBE`直接。 因此,我们给用户的回答应该是使用`DESCRIBE`命令。同时,根据系统指令,我们需要生成相关问题。下面我们组织回答:</think>### Hive 查询表字段数据类型的语句Hive 中,查看表字段数据类型的标准方法是使用 **`DESCRIBE` 命令**或 **`SHOW CREATE TABLE` 命令**。具体操作如下: #### 1. 使用 `DESCRIBE` 命令(推荐) ```sql DESCRIBE [FORMATTED] table_name; ``` - **基础用法**:直接显示字段名和数据类型 示例: ```sql DESCRIBE employee; ``` 输出: ``` id bigint username string age tinyint weight decimal(10,2) create_time timestamp is_test boolean tags array<string> ext map<string,string> address struct<province:string,city:string,detail:string> ``` - **扩展信息**:添加 `FORMATTED` 可查看详细元数据(包括数据类型、注释等) ```sql DESCRIBE FORMATTED employee; ``` #### 2. 使用 `SHOW CREATE TABLE` 命令 ```sql SHOW CREATE TABLE table_name; ``` - 会返回完整的建表语句,其中明确包含所有字段的数据类型: ```sql SHOW CREATE TABLE employee; ``` 输出示例(节选): ```sql CREATE TABLE employee( id bigint, username string, age tinyint, ... ) ``` #### 注意事项 1. **复杂数据类型**: Hive 支持复杂数据类型(如 `array<>`, `map<>`, `struct<>`),`DESCRIBE` 会明确显示其内部结构,例如: ``` tags array<string> -- 字符串数组 ext map<string,string> -- 键值对映射 ``` 2. **分区表**: 若表是分区表,`DESCRIBE FORMATTED` 会额外显示分区字段信息[^2]。 3. **快捷方式**: 可通过 `DESC` 缩写代替 `DESCRIBE`,例如: ```sql DESC employee; ``` > 提示:以上命令需在 Hive CLI、Beeline 或支持 Hive 查询的工具(如 Hue)中执行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值