问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

hive中怎么删除表中的部分数据

发布网友 发布时间:2022-04-21 08:27

我来回答

6个回答

懂视网 时间:2022-04-30 07:54

获得表的建表语句

hive (default)> show create table test;
OK
createtab_stmt
CREATE TABLE test(
id int)
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://nameservice1/user/hive/warehouse/test’
TBLPROPERTIES (
‘transient_lastDdlTime’=’1436799093’)
Time taken: 0.135 seconds, Fetched: 12 row(s)

创建内部表

技术分享

其他获得表的信息
技术分享

技术分享

创建外部表

hive (default)> create external table testexttable(
  > name string comment ‘name value‘,
  > addr string comment ‘addr value‘
  > );
OK
Time taken: 10.172 seconds

技术分享

create table if not exists testtable(
name string comment ‘name value‘,
addr string comment ‘addr value‘
)
row format delimited fields terminated by ‘	‘ lines terminated by ‘
‘ stored as textfile
;

技术分享

加载数据

hive (default)> load data local inpath ‘/liguodong/hivedata/datatest’ overwrite into table testtable;

技术分享

hive (default)> load data local inpath ‘/liguodong/hivedata/datatest’ into table testtable;
如果没有使用overwrite,则会再拷贝一份数据,不会覆盖原来的数据。
技术分享

hive (default)> create external table if not exists employees(
  > name string,
  > salary string,
  > subordinates array<string>,
  > deductions map<string,float>,
  > address struct<street:string,city:string,state:string,zip:int>
  > )
  > row format delimited fields terminated by ‘	‘
  > collection items terminated by ‘,‘
  > map keys terminated by ‘:‘
  > lines terminated by ‘
‘
  > stored as textfile
  > location ‘/liguodong/data/‘
  > ;

查找表数据

hive> select * from employees;
OK
tony 1338 ["a1","a2","a3"] {"k1":1.0,"k2":2.0,"k3":3.0} {"street":"s1","city":"s2","state":"s3","zip":4}
mark 5453 ["a4","a5","a6"] {"k4":4.0,"k5":5.0,"k6":6.0} {"street":"s4","city":"s5","state":"s6","zip":6}
ivy 323 ["a7","a8","a9"] {"k7":7.0,"k8":8.0,"k9":9.0} {"street":"s7","city":"s8","state":"s9","zip":9}
Time taken: 10.204 seconds, Fetched: 3 row(s)

查树组
hive> select subordinates[1] from employees;
Total MapReduce CPU Time Spent: 2 seconds 740 msec
OK
a2
a5
a8
查map
hive> select deductions["k2"] from employees;

OK
2.0
NULL
NULL
Time taken: 75.812 seconds, Fetched: 3 row(s)

查结构体
hive> select address.city from employees;
Total MapReduce CPU Time Spent: 2 seconds 200 msec
OK
s2
s5
s8
Time taken: 75.311 seconds, Fetched: 3 row(s)

注意:select * 不执行mapreduce,只进行一个本地的查询。
select 某个字段 生成一个job,执行mapreduce。

select * from employees;
select * from employees limit 10;

删除表

内部表删除,会连同hdfs存储的数据一同删除,而外部表删除,只会删除外部表的元数据信息。

hive (default)> drop table testtable;
OK
Time taken: 10.283 seconds
hive (default)> drop table testexttable;
OK
Time taken: 0.258 seconds

版权声明:本文为博主原创文章,未经博主允许不得转载。

Hive命令行常用操作(数据库操作,表操作)

标签:hive   数据库操作   命令行   表操作   

热心网友 时间:2022-04-30 05:02

工具:(1)HIVE;

(2)电脑;

(3)Xshell;

采用hdfs命令进行删除表中的部分数据:

1、先使用hdfs查看该表实际分区以及数据目录位置

hdfs dfs -ls /user/hive/warehouse/tbdata.db/表名小写/;

2、例如:使用hdfs命令删除该分区20161124目录

hdfs dfs -rm -r -f   /user/hive/warehouse/tbdata.db/表名小写/etl_dt=20161124;

3、最后查看是否有分区目录;

4、最查看进hive命令行查看此表是否还有数据。

热心网友 时间:2022-04-30 06:20

Hive是不支持更新操作的,你可以这样子做,从Hive表中查询出你想保留的数据,并且输入到原来的表中。

热心网友 时间:2022-04-30 07:55

在我实际的开发经验中,可以这样做。
1、如果hive表在hdfs上有多个part,可以删除部分part。
2、如果hive表有多个分区,可以删除分区文件夹。
3、可以根据where条件删除符合条件的。
4、*操作:
drop table if exists tmp_srcTable;
create table tmp_srcTable as SELECT * from srcTable limit 120000;
insert overwrite table srcTable select * from tmp_srcTable;
drop table tmp_srcTable;

热心网友 时间:2022-04-30 09:46

insert overwrite table t_table1 select * from t_table1 where XXXX;

其中xxx是你需要保留的数据的查询条件。

如果清空表,如下:
insert overwrite table t_table1 select * from t_table1 where 1=0;

热心网友 时间:2022-04-30 11:54

insert overwrite table t_table1 select * from t_table1 where XXXX; 其中xxx是你需要保留的数据的查询条件。 如果清空表,如下: insert overwrite table t_table1 select * from t_table1 where 1=0;
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
分形有什么 江苏省教育科学"十二五"规划课题经费是多少 全国教育科学"十二五"规划教育部规划课题有用吗 全国教育科学"十二五"规划是教育基础课题吗 ...女人,但是他表面对我很好,我抓不住他任何证据,这难道是我太闲了想... 总是怀疑老公对别的女人好怎么? 为什么日久生情的通常是女人? 为什么日久生情在女性中更为常见? 什么是日久生情?女生容易日久生情吗? 为什么日久生情的人多是女性呢? 如何自制鱼缸过滤器图解? 怎样自制鱼缸过滤器图 怎么自制鱼缸上过滤 怎样自制鱼缸过滤器(最好有图片) 电动车新电池电瓶的虚电很多,怎么办? 散粉和粉底液的区别是什么? 蜜粉 粉饼 粉底有什么区别啊? 404 Not Found 粉饼与定妆粉有什么区别 粉底,粉底饼,散粉这三个有什么区别?? 粉饼,粉底,定妆粉都有什么区别, 请问闪粉,散粉,粉底具体有什么区别? 粉底液,粉饼,蜜粉,定妆粉的区别?拜托了各位 谢谢 常见的几种粉底类型和常识 定妆粉和普通粉底一样吗? 粉底和定妆粉的区别?涂在手上用什么粉更白更真? 粉底和定妆粉的区别 化妆品中的粉底和定妆粉,有哪些不同之处? 求一篇励志演讲稿,简短的,有一个明确主题 三分钟左右的演讲稿要励志的 hive中删除表的某个字段 如何用pvc管自制鱼缸过滤器 Hive分区表怎么删除一个新添加的字段 删除Hive分区中的某条记录该如何操作?用了以下语句总报错 自制鱼缸过滤器 如何彻底删除hive以及配置好的环境变量 自制鱼缸上过滤器 hive中drop和delete的区别 自制鱼缸过滤槽 怎样删除hive和hbase映射表 鱼缸上滤槽怎么做 为什么使用Hive?Hive提供了什么?Hive支持哪些用户 hive表的类型有哪些 DIY 鱼缸上滤 hive like建表怎么删除分区列 鱼缸过滤用底滤好还是上滤好? hive中怎样删除分区 自制鱼缸圆筒过滤器图片数据 Hive SQL 表中去重复 关于DIY 鱼缸 上滤