Hive create external table partition关联数据文件
2013-12-27 14:53
417 查看
EXTERNAL 外部表 在建表的时候制定一个指向实际数据的路径(LOCATION)
hive创建内部表时,会将数据移动到数据仓库指向的路径;
创建外部表时,仅记录数据所在的路径,不对数据的位置做任何改变,
在删除表的时候:
内部表的元数据和数据会被一起删除,
而外部表只删除元数据,不删除数据。
HDFS中已经导入了城市日期数据文件。
/user/songwei/cityFile/visitDate=2011-10-23
/user/songwei/cityFile/visitDate=2011-10-24
创建外部表:
create external table test1(ip STRING,city STRING) partitioned by(visitDate STRING)
row format delimited fields terminated by '\t' STORED AS TEXTFILE location '/user/songwei/cityFile'
在hive中执行:
select count(*) from test1 ;
没有任何返回结果。
这是因为hive并不会自动关联hdfs中指定目录的partitions目录。
需要通过:
alter table test1 add partition (visitDate=2011-10-23);进行分区与分区数据的关联。
此时可以通过查找hive对应的db的meta数据进行查看。
查找test1表:
select * from TBLS where TBL_NAME='test1'
找出表ID
查找该表对应的分区信息:
select * from PARTITIONS where tbl_id=1;
能够查到通过alter table test1 add partitions(visitDate=2011-10-23)添加的分区信息。
英文标签:query external table with partitions not return any data
可以通过如下语句转换外部表和内部表
alter table tablePartition set TBLPROPERTIES ('EXTERNAL'='TRUE'); //内部表转外部表
alter table tablePartition set TBLPROPERTIES ('EXTERNAL'='FALSE'); //外部表转内部表
hive创建内部表时,会将数据移动到数据仓库指向的路径;
创建外部表时,仅记录数据所在的路径,不对数据的位置做任何改变,
在删除表的时候:
内部表的元数据和数据会被一起删除,
而外部表只删除元数据,不删除数据。
HDFS中已经导入了城市日期数据文件。
/user/songwei/cityFile/visitDate=2011-10-23
/user/songwei/cityFile/visitDate=2011-10-24
创建外部表:
create external table test1(ip STRING,city STRING) partitioned by(visitDate STRING)
row format delimited fields terminated by '\t' STORED AS TEXTFILE location '/user/songwei/cityFile'
在hive中执行:
select count(*) from test1 ;
没有任何返回结果。
这是因为hive并不会自动关联hdfs中指定目录的partitions目录。
需要通过:
alter table test1 add partition (visitDate=2011-10-23);进行分区与分区数据的关联。
此时可以通过查找hive对应的db的meta数据进行查看。
查找test1表:
select * from TBLS where TBL_NAME='test1'
找出表ID
查找该表对应的分区信息:
select * from PARTITIONS where tbl_id=1;
能够查到通过alter table test1 add partitions(visitDate=2011-10-23)添加的分区信息。
英文标签:query external table with partitions not return any data
可以通过如下语句转换外部表和内部表
alter table tablePartition set TBLPROPERTIES ('EXTERNAL'='TRUE'); //内部表转外部表
alter table tablePartition set TBLPROPERTIES ('EXTERNAL'='FALSE'); //外部表转内部表
相关文章推荐
- hive external table partition 关联HDFS数据
- hive external table partition 关联HDFS数据
- 在hive中创建表,关联到hdfs文件路径,而不需导入数据到hive表
- Hive 建立 最简单的table 从 文件 导入数据 带 分区 参数 partitioned
- Hive 之Table、External Table、Partition(五)
- 使用alter tablespace create datafile恢复丢失的数据文件
- 【SQL】查询两张关联table(a.pid=b.id)的数据sql语句
- Hive中查看数据来源文件和具体位置方法
- Moving Data from HDFS to Hive Using an External Table
- Hive中的数据类型和文件格式
- Mapreduce端join算法实现(订单和产品文件数据关联操作)
- 类hive 系统高并发去,添加partition,同时紧跟tunnel去写数据的坑
- read.table()读取数据文件
- AO入门篇:《创建一个dbf文件 》(Create a new dBASE table )
- hive数据类型和文件格式
- JS读取XML文件数据并以table形式显示数据的方法(兼容IE与火狐)
- Hive 数据类型 文件格式
- Hibernate学习之 -- 使用Middlegen-Hibernate-r5创建oracle10g的table的hibernate映射文件,Hibernate学习笔记三 ---持久化类和关系数据
- 使用递归算法结合数据库解析成java树形结构 1、准备表结构及对应的表数据 a、表结构: create table TB_TREE ( CID NUMBER not null, CNAME VAR
- Hive - Create Table&Drop Table & ALTER Table(中)