1、启动Hadoop
2、启动metastore
./hive --service metastore &
3、启动hive
./hive
4、建表
show tables create table inpatient( PATIENT_NO String COMMENT '住院号', NAME String COMMENT '姓名', SEX_CODE String COMMENT '性别', BIRTHDATE TIMESTAMP COMMENT '生日', BALANCE_COST String COMMENT '总费用' ) COMMENT '住院患者基本信息' ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' ESCAPED BY '\\' STORED AS TEXTFILE
5、查看表
show tables; describe inpatient;
6、加载数据
#从hdfs加载 ./hadoop fs -put ~/Deploy/testdata/inpatient.txt /usr/hadoop/ load data inpath '/usr/hadoop/inpatient.txt' into table inpatient #从本地加载 load data local inpath '/home/hadoop/Deploy/testdata/inpatient.txt' into table inpatient
7、那先来做一个查询,看下男女各多少人
hive> select count(*),sex_code from inpatient group by sex_code; Query ID = hadoop_20161221104618_d530ab5e-d1c9-48c9-a5da-dff47f81786d Total jobs = 1 Launching Job 1 out of 1 Number of reduce tasks not specified. Estimated from input data size: 1 In order to change the average load for a reducer (in bytes): set hive.exec.reducers.bytes.per.reducer=<number> In order to limit the maximum number of reducers: set hive.exec.reducers.max=<number> In order to set a constant number of reducers: set mapreduce.job.reduces=<number> Starting Job = job_1482286286190_0005, Tracking URL = http://hadoop-master:8088/proxy/application_1482286286190_0005/ Kill Command = /home/hadoop/Deploy/hadoop-2.5.2/bin/hadoop job -kill job_1482286286190_0005 Hadoop job information for Stage-1: number of mappers: 1; number of reducers: 1 2016-12-21 10:46:39,640 Stage-1 map = 0%, reduce = 0% 2016-12-21 10:47:08,810 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 3.39 sec 2016-12-21 10:47:33,013 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 5.5 sec MapReduce Total cumulative CPU time: 5 seconds 500 msec Ended Job = job_1482286286190_0005 MapReduce Jobs Launched: Stage-Stage-1: Map: 1 Reduce: 1 Cumulative CPU: 5.5 sec HDFS Read: 43317170 HDFS Write: 26 SUCCESS Total MapReduce CPU Time Spent: 5 seconds 500 msec OK 4 "0" 60479 "F" 54928 "M" Time taken: 77.198 seconds, Fetched: 3 row(s)
8.删除表
drop table inpatient;
9.执行dfs命令
dfs -ls /