hive建表手记
来源:互联网 发布:魔音软件 编辑:程序博客网 时间:2024/06/04 18:04
hive 建表语法
Create TableCREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name[(col_name data_type [COMMENT col_comment], ...)][COMMENT table_comment][PARTITIONED BY (col_name data_type[COMMENT col_comment], ...)][CLUSTERED BY (col_name, col_name, ...)[SORTED BY (col_name [ASC|DESC], ...)]INTO num_buckets BUCKETS][ROW FORMAT row_format][STORED AS file_format][LOCATION hdfs_path]
网上有这样的说法:EXTERNAL 关键字可以让用户创建一个外部表,在建表的同时指定一个指向实际数据的路径(LOCATION),Hive 创建内部表时,会将数据移动到数据仓库指向的路径;若创建外部表,仅记录数据所在的路径,不对数据的位置做任何改变。在删除表的时候,内部表的元数据和数据会被一起删除,而外部表只删除元数据,不删除数据。
但实测有出入,使用如下语句:
create external table weblog(accdate string,acctime string,sip string,csmethod string,csuristem string,csuriquery string,sport string,csusername string,cip string,csUserAgent string,scstatus string,scsubstatus string,scwin32status string,timetaken string) row format delimited fields terminated by ' ' stored as textfileLOAD DATA LOCAL INPATH '/home/hadoop/u_ex130613.log' OVERWRITE INTO TABLE weblog;
关于create table网上说的不全对,实测结果如下:
1. create external table时也可以不指定location,在create后,执行load data也可以的;
2. 使用create table建内部表时,也可以指定location目录,但在drop时,会删除location中指定的目录及文件;
3. 可见,内部表和外表部的主要区别在于删除时是否删除数据文件。
4. 使用create external table,可以先建表,指定目录,然后再往目录中不停的增加数据,每次查询结果可以包含最新的数据。
另:
stored as有三种TextFile,SequenceFile及 RCFile。
SequenceFile是一个由二进制序列化过的key/value的字节流组成的文本存储文件,它可以在map/reduce过程中的input/output的format时被使用。在map/reduce过程中,map处理文件的临时输出就是使用SequenceFile处理过的。所以一般的SequenceFile均是在FileSystem中生成,供map调用的原始文件。
RCFile(Record Columnar File)是facebook的东东,存储结构结合了行存储和列存储的优点,遵循“先水平划分,再垂直划分”的设计理念。
- hive建表手记
- Hadoop 2.0 + hive + hbase 安装手记
- hive建表规范
- hive 建表大全
- hive 建表例子
- hive建表乱码
- 建站手记
- 手记
- 手记
- 手记
- 手记
- hive建表等操作
- hive建表以及测试
- hive建表时报错
- Hive表
- Hive 表
- hive学习 hive中的表
- hive 建表,建外部表,建分区表
- IOS 7 过渡之 Content Views (视图内容)
- Linux平台下java程序员的基本功(五)
- java-类和实例
- java读取txt文件中的数据
- Linux平台下java程序员的基本功(六)
- hive建表手记
- Linux平台下java程序员的基本功(七)
- c++ 万能指针-void
- 好朋友与挚友的区别
- 如何删除数据文件
- JS高级程序设计_01
- 如何解决tomcat运行报out of memory错误
- Linux 添加PID , VID 支持USB 转串口
- oracle 脚本(2)-修复 status 为 unusable 的 index(ORA-01502)