【大数据】Hive系列之- Hive-DML 数据操作

数据导入

向表中装载数据(Load)

语法

load data [local] inpath '数据的 path' [overwrite] into table
car [partition (partcol1=val1,)];
  • load data:表示加载数据
  • local:表示从本地加载数据到 hive 表;否则从 HDFS 加载数据到 hive 表
  • inpath:表示加载数据的路径
  • overwrite:表示覆盖表中已有数据,否则表示追加
  • into table:表示加载到哪张表
  • car:表示具体的表
  • partition:表示上传到指定分区

操作用例

创建一张表

create table car(id string, name string) row format delimited fields terminated by '\t';

加载本地文件到 hive

load data local inpath '/data/apps/hive/datas/car.txt' into table default.car;

加载 HDFS 上数据到 hive

load data inpath '/data/hive/car.txt' into table default.car;

加载数据覆盖表中已有的数据

load data inpath '/data/hive/car.txt' overwrite into table default.car;

通过查询语句向表中插入数据(Insert)

创建一张表

create table car1(id int, name string) row format delimited fields terminated by '\t';

插入数据

insert into table car1 values(1,'tesla'),(2,'bmw');

基本模式插入(根据单张表查询结果)

insert overwrite table car1
select id, name from car where month='201709';
  • insert into:以追加数据的方式插入到表或分区,原有数据不会删除
  • insert overwrite:会覆盖表中已存在的数据

查询语句中创建表并加载数据(As Select)

create table if not exists car3 as select id, name from car;

创建表时通过 Location 指定加载数据路径

  • 上传数据到 hdfs 上
dfs -mkdir /car;
dfs -put /data/car.txt /car;
  • 创建表,并指定在 hdfs 上的位置
create external table if not exists car5( id int, name string
)
row format delimited fields terminated by '\t' location '/car;
  • 查询数据

希望对正在查看文章的您有所帮助,记得关注、评论、收藏,谢谢您

猜你喜欢

转载自blog.csdn.net/u013412066/article/details/129516301