hive常见的三种建表方式_hive select建表-程序员宅基地

技术标签: hive  hdfs  hadoop  大数据  

1. 以常见的方式建表:
CREATE TABLE IF NOT EXISTS `test.test1`(
  `user_id` int, 
  `name` string, 
  `address` string);
2. 以as方式建表:

会复制表属性和值,分区将会以字段的形式保留

CREATE TABLE IF NOT EXISTS `test.test3` as
SELECT 
  user_id,
  name,
  address,
  dt
FROM test.test2
WHERE dt='20210608';

test2的分区以字段的形式保留在test3中,并不是以分区的形式存在

CREATE TABLE IF NOT EXISTS `test.test3`(
  `user_id` int, 
  `name` string, 
  `address` string, 
  `dt` string)
ROW FORMAT SERDE 
  'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' 
STORED AS INPUTFORMAT 
  'org.apache.hadoop.mapred.TextInputFormat' 
OUTPUTFORMAT 
  'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
LOCATION
  'hdfs://HDFS1668/usr/hive/warehouse/test.db/test3'
TBLPROPERTIES (
  'transient_lastDdlTime'='1623144370');
hive> select * from test.test3;
OK
test3.user_id	test3.name	test3.address	test3.dt
1	xiaoming	shanghai	20210608
2	xiaolan	    beijing	    20210608
Time taken: 0.097 seconds, Fetched: 2 row(s)
3. 以like方式建表:
CREATE TABLE IF NOT EXISTS `test.test4` LIKE test.test2;

不会复制表的值,只会复制表的结构(包括分区)

CREATE TABLE IF NOT EXISTS `test.test4`(
  `user_id` int, 
  `name` string, 
  `address` string)
PARTITIONED BY ( 
  `dt` string)
ROW FORMAT SERDE 
  'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' 
STORED AS INPUTFORMAT 
  'org.apache.hadoop.mapred.TextInputFormat' 
OUTPUTFORMAT 
  'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
LOCATION
  'hdfs://HDFS1668/usr/hive/warehouse/test.db/test4'
TBLPROPERTIES (
  'transient_lastDdlTime'='1623144765')

hive> select * from test.test4;
OK
Time taken: 0.145 seconds

总结:
as建表方式和like建表方式的不同:

as会复制另一个表的数据,但分区是以字段形式存在

like不会复制另一个表的数据,但分区字段继续以分区字段保留

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_40267121/article/details/117709226

智能推荐

交换与路由技术课程设计_路由与交换课设-程序员宅基地

文章浏览阅读5.7k次,点赞6次,收藏112次。路由与交换技术课程设计_路由与交换课设

后端接口优化的14个技巧!-程序员宅基地

文章浏览阅读914次,点赞30次,收藏11次。接口优化

RFID停车场收费系统_rfid停车场收费系统设计方案-程序员宅基地

文章浏览阅读460次。RFID智能停车场管理方案主要应用于停车场收费管理、4S店停车场管理等各类车辆管理场合,在车辆上安装车辆IC卡,在进出口位置安装UR5206远距离读卡器,当车辆I过来的时候,RFID远距离读卡器读到车辆IC卡,送到控制板或后台数据库,控制板或后台数据库根据预设的条件做下一步的动作:抬升道闸放行或记录车辆信息。既能应用于收费停车场、车辆称重等车辆管理,也能应用于公交、车队等运输车辆调度管理以及高速收费等,有效的解决了各单位所面临的车辆识别管理问题。_rfid停车场收费系统设计方案

Java生成四位数随机验证码_随机生成验证码-程序员宅基地

文章浏览阅读1k次,点赞13次,收藏10次。我们生活中登录的时候都要输入验证码,这些验证码是为了增加注册或者登录难度,减少被人用脚本疯狂登录注册导致的一系列危害,减少数据库的一些压力。毕竟那些用脚本生成的账号都是垃圾账号本次实践:生成这样的验证码并且附带一些干扰线。_随机生成验证码

iBooker 轻资产项目点评 20230822-程序员宅基地

文章浏览阅读173次。带货的话就带货程序员需要的东西,比如保健品、按摩仪,也可以带货二次元的东西,手办、周边等等。婚恋问题基本,大部分都是没有合适的策略以及认知,现代都商业社会了,还在拿古代的那套道德观束缚自己。可以挑着把妹课程的重点结论或者方法,当然,需要解决这个问题的人没时间看你的文章,可以考虑做成视频。我觉得任何人都适合做这个,没有知识储备没关系,可以从现有的权谋书上摘抄,然后拿GPT润色。现在这个不要做了,因为快饱和了。不过我们可以转向它的反面,就是数字游民的内容,完全击穿用户认知,形成反差来吸引流量。

uniapp即时通讯IM聊天交友源码安装搭建二次开发_最新app即时通讯uniapp开发系统源码+有技术可二开-程序员宅基地

文章浏览阅读1.2k次,点赞31次,收藏11次。一、有群聊、私聊、朋友圈、可以发送文字、语音、视频、图片、表情、红包,转账等。消息可以撤回二、群组可以设置管理员、可以禁言、踢人,可设置是否可查看用户信息,可@用户、可发群公告等三、支持扫码入群,可设置好友备注、群名片、消息置顶、消息免打扰、可以邀请好友直接进群等四、拥有代理功能,支持关键词屏蔽,vip功能,签到功能,支持消息离线推送(ios无需上架,但是签名需支持push,通过APN推送,Android需要上应用商店,否则无法实现离线推送,下单一定要了解好离线消息相关流程)_最新app即时通讯uniapp开发系统源码+有技术可二开

随便推点

闲着没事看的视频或者文章_闲着没事看的有用文章-程序员宅基地

文章浏览阅读48次。有道云笔记中很多不知道什么时候时候的链接,清空一下,都放到这里方便点击学生问为什么要读书?【万字长文】如何成为一个值钱的职场人?码农翻身:2020年,给大家提7点建议_闲着没事看的有用文章

ps替换图片上文字-程序员宅基地

文章浏览阅读42次。ps替换修改图片上文字

STM32F103学习笔记-AFIO相关-程序员宅基地

文章浏览阅读5.7k次,点赞29次,收藏128次。本文主要讲述了:AFIO与GPIO的关系,AFIO的配置,AFIO的开启条件。_afio

【AIGC】ChatGPT能上传文件了,文档图片数据集秒理解,代码一键执行_ai上传文档-程序员宅基地

文章浏览阅读1w次。作者后来还透露,其实他根本不是研究这个领域的数据科学家,他是先问了ChatGPT“哪些数据有了可视化会很火”,然后再让ChatGPT把从哪找这些数据找出来……如果实在申请不到那也没关系,有人提出,只要先让ChatGPT写出代码,再到别的地方运行,虽然麻烦点但是效果基本没差。对此观点最好的例子,是一位网友把自己苹果健康的数据导出,并用此方法让ChatGPT生成了一张每天行走步数的热度图。需要注意的是,虽然OpenAI给出的是单选,但是有网友发现其实是可以重复填写的。到这还算平常,但下一步直接让人惊掉下巴——_ai上传文档

谈谈EF Core实现数据库迁移_ef core 实体类转数据库-程序员宅基地

文章浏览阅读751次。作为程序员,在日常开发中,记忆犹新的莫过于写代码,升级程序。升级程序包含两部分:一是,对服务程序更新;二是,对数据库结构更新。本篇博文主要介绍数据库结构更新,在对数据库升级时,不知道园友们是否有如下经历: 1)脚本文件中建表语句未作判断是否存在,而导致执行失败。 2)脚本文件中修改字段在建表语句之前,关联存储过程执行顺序颠倒而导致执行失败。..._ef core 实体类转数据库

Seq2Seq安装及问题解决_no module named 'seq2seq-程序员宅基地

文章浏览阅读1.9k次。目录Windows10安装出现问题问题一问题二问题三问题四Linux安装环境问题一问题二问题三Windows10安装seq2seq官网教程需要环境:Python 2.7或Python 3.5,TensorFlow 1.0git clone https://github.com/google/seq2seq.gitcd seq2seq# Install package and dependenciespip install -e .测试python -m unittest seq2seq._no module named 'seq2seq

推荐文章

热门文章

相关标签