创建表

CREATE TABLE if not exists student (
student_id int,
sex int,
address String,
email String
)
这里需要注意的是,虽然hiveSL类似sql语言,但是他们有很多需要注意的地方,不能直接使用符号,比如“'”,“;”这些,分号,hdfs认为是结束的符号。要使用这些符号的话,需要写成他们ask码的形式
还有在创建表时,字段的数据类型,不是使用的sql中的类型,类似java中的类型
 
create table:创建一个指定名字的表
external 关键字:创建一个外部表,在创建一个外部表时需要给他指定一个指向真实数据的路径(local),在创建一个内部表时,数据会随着你指向的路径儿移动,而创建外部表仅仅记录数据的路径;当删除内部表时:内部表的数据和元数据会随着一起被删除,而删除外部表,就只删除元数据。
like:格式修饰的create table允许复制一个已经存在的表,但是只是复制表的结构,而不复制表的数据
 
添加表分区
create table student_1(
student_id int,
sex int comment 'sex:0 gg,1 man',
address String comment 'address is student Faily address',
email String
)
partitioned by(ds String,country String)//指定分区,按照地市和时间进行分区,此并没有真正的存储列,也就是此列不存在你的数据中
row format delimited //设置创建表在加载数据的列分割符
fields terminated by '\001'//分割列
stored as sequencefile//需要压缩数据
row format delimited:用户在建表的时候可以自定义 SerDe 或者使用自带的 SerDe。如果没有指定 ROW FORMAT 或者 ROW FORMAT DELIMITED,将会使用自带的 SerDe。在建表的时候,用户还需要为表指定列,用户在指定表的列的同时也会指定自定义的 SerDe,Hive 通过 SerDe 确定表的具体的列的数据。
 
添加聚类存储
create table student_2(
student_id int,
sex int comment 'sex:0 gg,1 man',
address String comment 'address is student Faily address',
email String
)
comment 'student_2 table view'
partitioned by(ds String,country String)
clustered by(student_id) sorted by (student_id) into 32 buckets//根据sutdent_id进行分区并存储,并对student_id进行排序并放到32个桶中
row format delimited
fields terminated by '\001'
stored as sequencefile
这样组织结构允许用户通过student_id高效的对集群中的列进行采样
 
修改表的语句 alert(对于已经存在的表)
alert table student_2 to student_3
指定存储路径
create table student_2(
student_id int,
sex int comment 'sex:0 gg,1 man',
address String comment 'address is student Faily address',
email String
)
comment 'student_2 table view'
partitioned by(ds String,country String)
clustered by(student_id) sorted by (student_id) into 32 buckets//根据sutdent_id进行分区并存储,并对student_id进行排序并放到32个桶中
row format delimited
fields terminated by '\001'
stored as sequencefile
location '<hdfs路径>' //表数据存在hdfs上目录,也可以是本地目录
注意:修改表的结构只会对元数据做改变,不会改变数据,用户应该确保元数据的定义和数据结构的一致性
增加和更新列
alert table tableName add|replace colunms(col_name col_type col_moent,.......)
add columns,允许用户在当前列的末尾,未分区之前增加新的列。replace columns删除当前列,增加新的列。只有在
使用native的serDE在能这么做
 
 

hive 普通创建表和跟新列操作的更多相关文章

  1. 向SQL Server 现有表中添加新列并添加描述.

    注: sql server 2005 及以上支持. 版本估计是不支持(工作环境2005,2008). 工作需要, 需要向SQL Server 现有表中添加新列并添加描述. 从而有个如下存储过程. (先 ...

  2. hive中创建表失败

    使用create table命令创建表失败,如下错误信息: hive> create table test(id int,name string,age int,sex string); FAI ...

  3. 在hive执行创建表的命令,遇到异常com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Specified key was too long; max key length is 767 bytes

    今天在练习hive的操作时,在创建数据表时,遇到了异常 FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.ex ...

  4. Oracle入门基础(九)一一创建表和管理表

    练习:查询每一年入职人数及总人数 SQL> select count(*) Total, 2 sum(decode(to_char(hiredate,'yyyy'),'1980',1,0)) & ...

  5. 使用sql语句创建修改SQL Server标识列(即自动增长列)

    一.标识列的定义以及特点SQL Server中的标识列又称标识符列,习惯上又叫自增列.该种列具有以下三种特点:1.列的数据类型为不带小数的数值类型2.在进行插入(Insert)操作时,该列的值是由系统 ...

  6. Hive与HBase表联合使用Join的问题

    hive与hbase表结合级联查询的问题,主要hive两个表以上涉及到join操作,就会长时间卡住,查询日志也不报错,也不会出现mr的进度百分比显示,shell显示如下图 如图: 解决这个问题,需要修 ...

  7. SQL-表的操作(创建表,删除表,更改列,插入新行,更改行的值,删除表中数据)

    一,操作表及列 1.创建表: CREATE TABLE test (ID int  PRIMARY KEY IDENTITY,Name varchar(20) ) 2.删除表 DROP TABLE t ...

  8. hive创建表

    一.为什么要创建分区表 1.select查询中会扫描整个表内容,会消耗大量时间.由于相当多的时候人们只关心表中的一部分数据, 故建表时引入了分区概念. 2.hive分区表:是指在创建表时指定的part ...

  9. Mysql下在某一列后即表的某一位置添加新列的sql语句

    Mysql简介 MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司.MySQL被广泛地应用在Internet上的中小型网站中.由于其体积小.速度快.总体拥有成本低,尤 ...

随机推荐

  1. Android四大组件之—— BroadcastReceiver的使用

    BroadcastReceiver又名广播接收者.既然它用于接收广播,那一定就有人负责发送. Android系统中的广播: 在现实生活中,我们都知道广播是什么,用来做什么.例如公园里的广播,主要通知游 ...

  2. 软件开发学习笔记 <二>软件开发模型、Up、Rup、敏捷Up

    软件开发过程(process) 是一个将用户需求转化为软件系统所需要的活动的集合. 软件生命周期(SDLC,Software Devlopment Life Cycle) 软件从孕育.诞生.成长.成熟 ...

  3. BZOJ 2120: 数颜色

    2120: 数颜色 Time Limit: 6 Sec  Memory Limit: 259 MBSubmit: 3623  Solved: 1396[Submit][Status][Discuss] ...

  4. 【bzoj3124】 Sdoi2013—直径

    http://www.lydsy.com/JudgeOnline/problem.php?id=3124 (题目链接) 题意 求树的直径以及直径的交. Solution 我的想法超麻烦,经供参考..思 ...

  5. Size Balance Tree(SBT模板整理)

    /* * tree[x].left 表示以 x 为节点的左儿子 * tree[x].right 表示以 x 为节点的右儿子 * tree[x].size 表示以 x 为根的节点的个数(大小) */ s ...

  6. 谈谈java开发

    1.不要让未来的决策阻止你现在前进的方向 一步步列出每个步骤,那么对于现在应该专注于做什么,就一目了然了.你也不会浪费   时间去担心应该以后操心的事情. 2.不要让自信诱骗你忘事 当你去学习一个新概 ...

  7. Web编程基础--HTML、CSS、JavaScript 学习之课程作业“仿360极速浏览器新标签页”

    Web编程基础--HTML.CSS.JavaScript 学习之课程作业"仿360极速浏览器新标签页" 背景: 作为一个中专网站建设出身,之前总是做静态的HTML+CSS+DIV没 ...

  8. Python之路【第十九篇】自定义分页实现(模块化)

    自定义分页 1.目的&环境准备 目的把分页写成一个模块的方式然后在需要分页的地方直接调用模块就行了. 环境准备Django中生成一个APP并且注册,配置URL&Views 配置URL ...

  9. Daily Build

    Daily Build 是一件非常有意义的事情,也是敏捷开发中关于 “持续集成” 的一个实践.Daily Build 对于开发来说有如下好处: 保证了每次 check in 的代码可用,不会造成整个工 ...

  10. Verilog笔记——YUV2RGB的模块测试

    1 YUV2RGB的模块如下: module yuv2rgb( clk, //时钟输入 rstn, //复位输入,低电平复位 y_in, //变换前Y分量输出 cb_in, //变换前Cb分量输出 c ...