背景:接到老大的指示,要为hive生成2000W条测试数据,这可愁死偶了,苦思之后,想到我写文章 [url=http://chenchangqun.iteye.com/blog/2068759]hive 快速插入测试数据[/url],可以在此基础上扩展。思路是用shell 脚本生成包含大量数据的data文件,然后导入hive中。
生成 测试数据的shell脚本
data_create.sh
rm -rf ./data.txt
touch data.txt
for((i=0;i<20000000;i++))
do
str=',name';
name=${i}${str}${i}
#echo $name
echo $name>> data.txt
done
echo 'show testdata'
cat data.txt
运行脚本
sh data_create.sh
进入hive
# hive
删除表
drop table test;
创建表
create table test(id int,name string) row format delimited fields terminated by ',';
导入数据
LOAD DATA LOCAL INPATH '/root/changun/hive_data/data.txt' OVERWRITE INTO TABLE test;