当前位置: 首页 > article >正文

hive:基本数据类型,关于表和列语法

基本数据类型

Hive 的数据类型分为基本数据类型和复杂数据类型
加粗的是常用数据类型
BOOLEAN出现ture和false外的其他值会变成NULL值
没有number,decimal类似number
如果输入的数据不符合数据类型, 映射时会变成NULL, 但是数据本身并没有被修改

创建表

创建表的本质其实就是在对应的数据库目录下面创建一个子目录,目录名为表名。数据文件就存在这个目录下。
使用语法1时需注意当前所在的数据库,判断是否需要切换数据库
工作中建议使用语法2
建表时未指定分隔符(语法1和语法2),Hive会使用默认的分隔符,列和列之间是\001,行与行之间是\n
row format delimited  开启分隔符格式化
分隔符可以自定义,比如逗号,\t制表符, 但是只能有单个分隔符
默认是以文本格式储存,所以 stored as textfile可写可不写

查看表

如果建表时没有指定分隔符,使用desc formatted  tableName查看表结构时会出现SerDe  Library行,
"SerDe Library" 行指的是用于序列化(Serializer)和反序列化(Deserializer)数据的库。在 Hive 中,SerDe 库负责将数据从一种格式转换为另一种格式,以便在查询和存储时使用。
如果建表时指定分隔符,使用desc formatted  tableName查看表结构时会展示分隔符

删除表

修改表名

colType是数据类型; 

修改列

- 修改列的位置 : 注意, 2 .x 版本后,必须是相同类型进行移动位置。
alter table tableName change column colName colName colType after colName1;
alter table t1 change column english english int after chinese;
alter table tableName change column colName colName colType first ;
# 将字段放在首位,前提是要移动的字段和第一个字段的数据类型要保持一致;
注意:修改,增加,删除字段等只是改变字段和数据的映射关系,表内的数据并没有改变

http://www.kler.cn/a/525472.html

相关文章:

  • Unity敌人逻辑笔记
  • 推动知识共享的在线知识库实施与优化指南
  • java实现mysql数据库备份还原定时删除过期备份文件
  • JavaScript图像处理,JavaScript实现高斯滤波图像处理算法
  • http://noi.openjudge.cn/——4.2算法之数论——2419:Coins
  • 【面试】【前端】SSR与SPA的优缺点
  • doris:Bitmap
  • 3.4 Go函数作用域(标识符)
  • 【C++】内联函数inline、关键字auto与新式for
  • 数字化转型-工具变量(2024.1更新)-社科数据
  • C++并发编程指南02
  • 动手学图神经网络(8):在消息传递中定制聚合操作
  • 什么是 AI 代理?
  • redis中n是什么含义?
  • 从春晚《秧BOT》来看人形机器人与四足机器人的区别
  • IPhone13 Pro Max设备详情
  • 寒假学web--day06
  • arkui-x跨平台与android java联合开发
  • 解读隐私保护工具 Fluidkey:如何畅游链上世界而不暴露地址?
  • 微服务学习-服务调用组件 OpenFeign 实战