3.Hive基础

您所在的位置:网站首页 hive数据库连接命令 3.Hive基础

3.Hive基础

2024-07-14 00:25| 来源: 网络整理| 查看: 265

本文目录如下: 2.8 Hive 常用交互命令2.8.1 “`-e`”不进入 `hive` 的交互窗口执行 `sql` 语句2.8.2 “`-f`”执行脚本中 `sql` 语句 2.9 Hive 其他命令操作2.9.1 退出 `hive` 窗口2.9.2 在 `hive cli` 命令窗口中如何查看 `hdfs` 文件系统2.9.3 查看在 hive 中输入的所有历史命令 2.10 Hive 常见属性配置2.10.1 Hive 运行日志信息配置2.10.2 打印 当前库 和 表头2.10.3 参数配置方式2.10.3.1 查看当前所有的配置信息2.10.3.2 参数的配置三种方式 第3章 Hive 数据类型3.1 基本数据类型3.2 集合数据类型3.2.1 案例实操 3.3 类型转化3.3.1 隐式类型转换规则3.3.2 使用 CAST 操作显示进行数据类型转换

注: 进行完上一章节末尾的注释步骤之后,博主使用 root 身份启动 Hive 报错,后将用户切换为 xqzhao 之后成功启动 Hive。

2.8 Hive 常用交互命令

使用 bin/hive -help 查看 Hive 的交互命令。

[xqzhao@hadoop100 hive]$ bin/hive -help 2.8.1 “-e”不进入 hive 的交互窗口执行 sql 语句 [xqzhao@hadoop100 hive]$ bin/hive -e "select id from student;" 2.8.2 “-f”执行脚本中 sql 语句 (1) 在 /opt/module/hive/下创建 datas 目录并在 datas 目录下创建 hive.sql 文件 [xqzhao@hadoop100 datas]$ touch hive.sql (2) 文件中写入正确的 sql 语句 select * from test; (3) 执行文件中的 sql 语句 [xqzhao@hadoop100 hive]$ bin/hive -f datas/hive.sql (4) 执行文件中的 sql 语句并将结果写入文件中 [zqzhao@hadoop100 hive]$ bin/hive -f /datas/hive.sql > datas/hive_result.txt 2.9 Hive 其他命令操作 2.9.1 退出 hive 窗口 hive(default)> exit; hive(default)> quit; `也可以直接按 Ctrl + C` 2.9.2 在 hive cli 命令窗口中如何查看 hdfs 文件系统 hive(default)> dfs -ls /; drwxrwx--- - xqzhao supergroup 0 2021-08-18 07:30 /tmp drwxr-xr-x - xqzhao supergroup 0 2021-08-18 07:36 /user 2.9.3 查看在 hive 中输入的所有历史命令 (1) 进入到当前用户的根目录 /root 或 /home/xqzhao(2) 查看 .hivehistory 文件 [xqzhao@hadoop100 ~]$ cat .hivehistory 2.10 Hive 常见属性配置 2.10.1 Hive 运行日志信息配置

Hive 的 log 默认存放在 /tmp/xqzhao/hive.log 目录下(当前用户名下)

修改 hive 的 log 存放日志到 /opt/module/hive/logs

(1) 修改 hive-log4j2.properties.template 文件名称为hive-log4j2.properties [xqzhao@hadoop100 conf]$ pwd /opt/module/hive/conf [xqzhao@hadoop100 conf]$ mv hive-log4j2.properties.template hivelog4j2.properties (2) 在 hive-log4j2.properties 文件中修改 log 存放位置 hive.log.dir=/opt/module/hive/logs 2.10.2 打印 当前库 和 表头

在 hive-site.xml 中加入如下两个配置:

hive.cli.print.header true hive.cli.print.current.db true 2.10.3 参数配置方式 2.10.3.1 查看当前所有的配置信息 hive> set; 2.10.3.2 参数的配置三种方式 (1) 配置文件方式 默认配置文件:hive-default.xml用户自定义配置文件:hive-site.xml

注意:用户自定义配置会覆盖默认配置。另外,Hive 也会读入 Hadoop 的配置,因为 Hive是作为 Hadoop 的客户端启动的,Hive 的配置会覆盖 Hadoop 的配置。配置文件的设定对本机启动的所有 Hive 进程都有效。

(2) 命令行参数方式

启动 Hive 时,可以在命令行添加 -hiveconf param=value 来设定参数。 例如:

[atguigu@hadoop103 hive]$ bin/hive -hiveconf hive.cli.print.current.db=false;

注意:仅对本次 hive 启动有效

查看参数设置:

hive (default)> set hive.cli.print.current.db; (3) 参数声明方式

可以在 HQL 中使用 SET 关键字设定参数 例如:

hive (default)> set hive.cli.print.header=false;

注意:仅对本次 hive 启动有效。

查看参数设置:

hive (default)> set hive.cli.print.header;

上述三种设定方式的优先级依次递增。即 配置文件 select friends[1],children['xiao song'],address.city from test2 where name="shunshun"; _c0 _c1 city xinge 18 beijing 3.3 类型转化

Hive 的原子数据类型是可以进行隐式转换的,但是不会进行反向转化。

TINYINT 可以自动转换为 INT 类型INT 不可以自动转换为 TINYINT 类型

使用第二种转换会返回错误,除非使用 CAST 操作。

3.3.1 隐式类型转换规则 (1) 任何整数类型都可以隐式地转换为一个范围更广的类型,如 TINYINT 可以转换成INT,INT 可以转换成 BIGINT。(2) 所有整数类型、FLOAT 和 STRING 类型都可以隐式地转换成 DOUBLE。(3) TINYINT、SMALLINT、INT 都可以转换为 FLOAT。(4) BOOLEAN 类型不可以转换为任何其它的类型。 3.3.2 使用 CAST 操作显示进行数据类型转换 例如 CAST('1' AS INT)将把字符串'1'转换成整数 1;如果强制类型转换失败,表达式返回空值 NULL,如执行 CAST('X' AS INT)。 0: jdbc:hive2://hadoop102:10000> select '1'+2, cast('1'as int) + 2; +------+------+--+ | _c0 | _c1 | +------+------+--+ | 3.0 | 3 | +------+------+--+

声明:本文是学习时记录的笔记,如有侵权请告知删除! 原视频地址:https://www.bilibili.com/video/BV1EZ4y1G7iL



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3