需求
需要对数据库进行压力测试或对系统压力测定需要构造大量测试数据场景
构造表结构
表头如下,我这边导入的是事先准备好的txt格式数据 ,后边就是 as textfile,csv格式数据同理处理
表头字典设计如下:
id name sex age income submit_city
*** 在装有hive库的集群对应的服务器上执行***
一.**** 进入hive***
(集群,例如hive 部署路径: /****/Hive/hive_pkg)
例如:
cd /****/Hive/hive_pkg/bin
./hive
二.****切换指定的数据库***
hive> use xiangmu;
OK
Time taken: 1.077 seconds
三.****查看表***
hive> show tables;
OK
dluser_incomes
Time taken: 0.146 seconds, Fetched: 1 row(s)
四.****新建hive表***
*** 在装有hive库的集群对应的服务器上执行***
create table dluser_incomes(id int ,name string,sex int,age int,income string,submit_city string)row format delimited fields Terminated by ' ' lines terminated by '\n'
stored as textfile;
五.****检查表是否已经生成***
hive> show tables;
OK
dluser_incomes
Time taken: 0.146 seconds, Fetched: 1 row(s)
导入数据到hive并查看数据
1.将本地生成好的数据上传至服务器
SCP 或者 FTP
2.将生成的txt文件put进HDFS集群
hadoop fs -put /root/data/100ge.txt /****/hive/warehouse/qishanxiangmu.db/dluser_incomes/
——————命令解释——————
/root/data/100ge.txt 本地路径
/***/hive/warehouse/qishanxiangmu.db/dluser_incomes/ 集群路径
集群命令:
查看 hdfs dfs -ls /tmp
创建 hdfs dfs -mkdir /tmp/data
删除 hdfs dfs -rm -r /tmp/data
1.执行如下命令
hive> load data inpath '/***/hive/warehouse/xiangmu.db/dluser_incomes/' into table dluser_incomes;
Loading data to table xiangmu.dluser_incomes
OK
Time taken: 0.819 seconds
2.确认数据是否已经导入成功
hive> select * from dluser_incomes;
OK
1 牟莉 0 47 个人收入在8000 太原
2 李雪梅 1 52 个人收入在8000 长沙
命令解释:
——————————————
hive> load data inpath '集群中存放事先已经生成好的txt路径,不需要文件名,指定到目录层级即可' into table 目标表名称;
Loading data to table xiangmu.dluser_incomes
OK
Time taken: 0.819 seconds
——————————————
附件
如何快速生成百万级数据 faker 模块
https://zhuanlan.zhihu.com/p/390337265
网友评论