大数据开发过程中,难免需要上传手工数据到表中,这里介绍常见的几种上传方法。
1、txt 上传hive
a、首先注意解决乱码问题,需要将txt另存成 udf-8。只需要用记事本打开,然后另存即可。
b、在hive上建表(txt 文件的数据是用 逗号 “,” 隔开的)
CREATE TABLE tmp.cur_rate(
src_cur string,
aim_cur string,
chang_rate decimal(20, 6)
)
row format delimited
fileds terminated by ','
stored as textfile;
c、将 txt 文件上传到服务器中,然后执行下面的sql:
load data local inpath '/home/汇率.txt' into table tmp.cur_rate;
如果需要覆盖原来的table,执行下面的语句:
load data local inpath '/home/汇率.txt' overwrite into table tmp.cur_rate;
2、xlsx(excel )表格类文件上传
a、先将文件另存为 .csv(逗号隔开) 文件
接下来的步骤 同上面 1、txt 上传hive 的b、c 步,只是文件路径换下即可。
如果上传之后,遇到乱码问题,需要用记事本打开,存成 udf-8 的txt 文件,再上传即可。
3、txt 、 excel 文件上传 kudu
这两种类型的文件上传kudu,都需要经过上面的 1、2步上传到hive表中。
接下来需要操作的步骤:
a、在 kudu 中手动建一张表
CREATE TABLE kudu.cur_rate(
src_cur string,
aim_cur string,
chang_rate decimal(20, 6),
update_time TIMESTAMP
PRIMARY KEY(src_cur, aim_cur)
)
COMMENT '汇率表'
stored as kudu;
b、执行sql:
upsert into kudu.cur_rate
select *, now() form tmp.cur_rate;
至此,文件上传完成。