開發與維運

CDH6.2版本的HIVE性能測試

服務器配置

當前hive通過群集方式安裝,分別安裝到node1-node3中,各主機的配置如下表:

主機 CPU 內存 硬盤
Node1 1顆1核 14G 14G
Node2 1顆1核 2G 14G
Node3 1顆1核 2G 14G

創建test數據庫

1.    create table test(    
2.        name String,  
3.        gender String,  
4.        age String,  
5.        city String,  
6.        idNumber String,  
7.        cardNumber String,  
8.        balance String  
9.    )    
10.    row format delimited fields terminated by ',' lines terminated by '\n'  
stored as textfile; 

測試10萬條數據

使用createtestdata.jar生成10萬條測試數據,並導入hdfs,使用命令行put到hdfs的/data目錄,或使用hdfs帳戶登錄hue,上傳至/data目錄

1.    #切換至hdfs用戶  
2.    su hdfs  
3.    #將文件testdata_10w.txt存入hdfs的/data目錄  
4.    hadoop fs -put testdata_10w.txt /data  
5.    #查看目錄情況  
6.    hadoop fs -ls /data  

1.png

使用如下命令,將數據導入test表中

1.    load data inpath '/data/testdata_10w.txt' into table test;  

2.png

執行sql語句,查詢測試數據中各城市的人員年齡分佈情況及總餘額信息:

1.    SELECT  
2.        city AS city_name,  
3.        count(NAME) AS total_persons,  
4.        max(age) AS max_age,  
5.        min(age) AS min_age,  
6.        round(avg(age), 2) AS avg_age,  
7.        sum(balance) AS total_balance  
8.    FROM  
9.        test  
10.    GROUP BY  
11.        city  

執行結果:31.93s
3.png

測試100萬條數據

執行結果:43.827s
4.png

測試1000萬條數據

執行結果:142.885s
5.png

測試1億條數據

執行結果:1035.759s,約17分鐘
6.png
7.png

測試結論

在當前服務器配置情況下,測試結果:

數據量 10萬 100萬 1000萬 1億
結果 31.93s 43.827s 142.885s 1035.759s

Leave a Reply

Your email address will not be published. Required fields are marked *