Hive基础

来自牛奶河Wiki
阿奔讨论 | 贡献2023年2月10日 (五) 12:57的版本 (创建页面,内容为“ === 参数设置 === 优先级: 配置文件 < 命令行参数 < 终端里输入命令 注意某些系统级的参数, 例如 log4j 的设定必须用前两种方式设定, 因为那些参数的读取在会话建立以前已经完成了。 * 配置文件方式 hive-default.xml 和 hive-site.xml * 命令行参数方式 启动 Hive 时,hive -hiveconf mapred.reduce.tasks=10 * 终端里输入命令 set 查看所有配置 set xxx 查看xxx参数的值 set…”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳到导航 跳到搜索

参数设置

优先级: 配置文件 < 命令行参数 < 终端里输入命令

注意某些系统级的参数, 例如 log4j 的设定必须用前两种方式设定, 因为那些参数的读取在会话建立以前已经完成了。

  • 配置文件方式 hive-default.xml 和 hive-site.xml
  • 命令行参数方式 启动 Hive 时,hive -hiveconf mapred.reduce.tasks=10
  • 终端里输入命令

set 查看所有配置

set xxx 查看xxx参数的值

set xxx 1 设置xxx参数的值

基础命令

hive -e “sql语句”

hive -f “sql文件路径”

分割符

Hive中默认的分割符为:

  列:^A

  行:\n

在数据文件中显示为:"1000^AHello, World!\n",数据中如果包含:"\001","\n"等分隔符,需要提前处理掉。

如果需要自定义分隔符,需要设置:

ROW FORMAT DELIMITED

  FIELDS TERMINATED BY '\t'

  LINES TERMINATED BY '\n'

数据类型

基本数据类型

Hive 数据类型 Java 数据类型
TINYINT byte
SMALINT short
INT int
BIGINT long
BOOLEAN boolean
FLOAT float
DOUBLE double
STRING string

TIMESTAMP

String 类型相当于数据库的 varchar 类型, 该类型是一个可变的字符串,理论上它可以存储 2GB 的字符数

集合数据类型

  • STRUCT struct<street:string, city:string>
  • MAP map<string, int>
  • Array array<string>

注意

  • order by 中的字段, 必须在 select 中出现
  • 子查询表必须有别名