hive踩坑笔记 —— ParseException line 6:26 mismatched input ‘,‘ expecting ( near ‘char‘ in primitive type

平常创建表的时候,都是 字段名 string 或者 字段名 int
今天将字段名设置为char时,报了这个错误ParseException line 6:26 mismatched input ‘,’ expecting ( near ‘char’ in primitive type specification,想了好一会才想起来,char类型的后面需要跟上括号,括号里面是字段值占用的字节量上限

create table data_order(
    orderid string,
    orderCustomerType char(20),
)row format delimited fields terminated by '$$';

像这样,将 char 改为 char(20),否则报错

开了这篇博客,光写这个错误有点少,顺便收集一下hive的数据类型的相关博客

  1. varchar与char的区别
    摘自 hive—基本类型中,varchar(20)与char(20)的区别

Hive中varchar与char都是用来存储字符串。
两者区别是:

varchar属于可变长的字符类型。

char属于固定长度的字符类型。

假定声明了varchar(20)与char(20)两种数据类型,当存入的字符占用小于20时,声明为varchar的字符只占用足够表示它的那些字符空间;而char则仍然占满20个字节空间,用空格填充。

  1. 数据类型 hive

hive wiki LanguageManual Types

Hive数据类型

Hive之数据类型

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一纸春秋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值