Bootstrap

hdfs文件加载进hive表的两种方法

 

1.第一种方法 当存储路径与表所在路径不一致时,可以load进去,如果表中字段类型不对应,该字段的值将会为空

load data inpath 'hdfs://hadoop01:9000/tmp/sales_info.txt' overwrite into table sales_info partition(dt = '20191215');

 

2.当存储路径与表所在路径一致时,可以采用添加分区的方式

alter table ods_nshop.ods_01_releasedatas add partition (bdp_day='20191215') location 'hdfs://hadoop01:9000/data/nshop/ods/release/bdp_day=20191215'

hive的表如下:

create external table if not exists ods_nshop.ods_01_releasedatas(
  customer_id string comment '用户id',
  device_num string comment '设备号',
  device_type string comment '设备类型',
  os string comment '手机系统',
  os_version string comment '手机系统版本',
  manufacturer string comment '手机制造商',
  area_code string comment '地区编码',
  release_sid string comment '投放请求id',
  release_session string comment '投放会话id',
  release_sources string comment '投放渠道',
  release_params string comment '投放请求参数',
  ct bigint comment '创建时间'

partitioned by (bdp_day string)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
stored as textfile
location '/data/nshop/ods/release/'

;