加载到普通表

可以将本地文本文件内容批量加载到Hive表中,要求文本文件中的格式和Hive表的定义一致,包括:字段个数、字段顺序、列分隔符都要一致。

load data local inpath '/home/hadoop/dealerinfodata.txt' overwrite into table dealer_info;
  • local:表示数据文件在本地,如果数据文件在HDFS,则可以去掉local

  • overwrite:表示如果hive表中存在数据,就会覆盖掉原有的数据,如果省略掉该关键字,则默认是追加数据。

加载到分区表

load data local inpath '/home/hadoop/actionlog.txt' overwrite into table dealer_action_log PARTITION(dt='2016-08-19');
  • partition:指定数据放入的分区

加载到分桶表

首先创建普通临时表

create table dealer_leads_tmp
(
  leads_id string,
  dealer_id string,
  user_id string,
  user_phone string,
  user_name string,
  create_time string
)
row format delimited fields terminated by ','
stored as textfile;

将数据导入临时表

load data local inpath '/home/hadoop/lead.txt' overwrite into table dealer_leads_tmp;

导入分桶表

set hive.enforce.bucketing=true;
insert overwrite table dealer_leads select * from dealer_leads_tmp;

set hive.enforce.bucketing=true;是设置启用分桶

results matching ""

    No results matching ""