Hive使用记录
1.在服务器进入hive操作界面
这里使用 beeline 命令进入。在控制台上输入 beeline。
Beeline 是 Apache Hive 提供的一个命令行工具,用于与 HiveServer2 进行交互。它是 Hive 0.14 版本后引入的,默认推荐使用的客户端工具,用来替代旧版的 Hive CLI。
如果输入 beeline 后,报如下错误,可以尝试换成root账户登录,在使用该命令。

2.创建数据库
CREATE DATABASE IF NOT EXISTS yhw_hive_database COMMENT '注释内容'
3.创建表
create table often_buy ( often_id bigint comment '价目表设置id', product_name varchar(200) comment '商品名称', product_numer varchar(200) comment '商品编码', alias_name varchar(100) comment '商品别名名称',
pur_price decimal(20, 5) comment '购买价格', market_price decimal(20, 5) comment '市场价格', add_date timestamp comment '插入时间', operation_time timestamp comment '操作时间', operation_user varchar(20) comment '操作人', sync_flag int default 0 comment '同步状态 0:未同步 1:成功 2:同步失败', sync_time timestamp comment '同步的时间', sync_remark varchar(200) comment '同步失败的原因', customer_id int comment '客户ID', hot string default '0' comment '0:正常 1:置顶' ) COMMENT '常购商品表' ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS TEXTFILE;
注意:
double类型不支持指定精度和小数位数,如double(20, 5)。如果需要指定精度和小数位数,应该使用DECIMAL 或 DEC 类型;
int 类型也不接受长度参数。例如 int(2) 和 int(15)。
char: Hive在处理 char(1) 类型的默认值时,对于默认值的类型检查比较严格。尽管 '0' 是一个字符串字面量,但Hive可能在某些版本中对 char(1) 类型的默认值处理存在问题。
为了了规避这个问题,您可以尝试以下几种方法:
1.使用string类型代替char(1);
2.移除默认值;
3.确保hive版本支持char(1)默认值。
datetime: hive不支持datetime数据类型,可以更换为timestamp。

浙公网安备 33010602011771号