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)。如果需要指定精度和小数位数,应该使用DECIMALDEC 类型;

  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。

 

posted @ 2024-12-13 16:59  yanhongwen  阅读(38)  评论(0)    收藏  举报