安装Hive
1、上传hive的tar包到/usr/local/soft目录下
2、解压tar包并且重命名
tar -zxvf apache-hive-2.3.4-bin.tar.gz
mv apache-hive-2.3.4-bin hive
3、配置hive的环境变量
vim /etc/profile##HIVE_HOMEexport HIVE_HOME=/usr/local/soft/hiveexport PATH=$PATH:$HIVE_HOME/binsource /etc/profile
4、修改配置文件
4.1
来到hive的conf目录下
cd /usr/local/soft/hive/conf
4.2 重命名模板文件
mv hive-env.sh.template hive-env.shmv hive-log4j2.properties.template hive-log4j2.propertiescp hive-default.xml.template hive-site.xml
4.3修改配置文件
4.3.1 hive-env.sh
vim 打开 hive-env.sh文件
vim hive-env.sh
添加如下内容
HADOOP_HOME=/usr/local/soft/hadoop-2.7.2
export HIVE_CONF_DIR=/usr/local/soft/hive/conf
4.3.2 hive-log4j2.properties
vim 打开 hive-log4j2.properties 文件
vim hive-log4j2.properties
修改第24行
property.hive.log.dir = /usr/local/soft/hive/logs
4.3.3 hive-site.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration><!-- hive元数据地址,默认是/user/hive/warehouse --><property><name>hive.metastore.warehouse.dir</name><value>/user/hive/warehouse</value></property><!-- hive查询时输出列名 --><property><name>hive.cli.print.header</name><value>true</value></property><!-- 显示当前数据库名 --><property><name>hive.cli.print.current.db</name><value>true</value></property><!-- 开启本地模式,默认是false --><property><name>hive.exec.mode.local.auto</name><value>true</value></property><!-- URL用于连接远程元数据 --><property><name>hive.metastore.uris</name><value>thrift://bigdata01:9083</value><description>Thrift URI for the remote metastore. Used by metastore client to connect to remote metastore.</description></property><!-- 元数据使用mysql数据库 --><property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://bigdata01:3306/hive?createDatabaseIfNotExist=true&useSSL=false</value><description>JDBC connect string for a JDBC metastore</description></property><property><name>javax.jdo.option.ConnectionUserName</name><value>root</value><description>username to use against metastore database</description></property><property><name>javax.jdo.option.ConnectionPassword</name><value>123456</value><description>password to use against metastore database</description></property><property><name>javax.jdo.option.ConnectionDriverName</name><value>com.mysql.jdbc.Driver</value><description>Driver class name for a JDBC metastore</description></property></configuration>
5、创建hive元数据所在路径
hadoop fs -mkdir /tmp #如果有这个路径,这不需要重新创建
hadoop fs -chmod -R 777 /tmp #修改文件权限
hadoop fs -mkdir -p /user/hive/warehouse #创建目录
hadoop fs -chmod -R 777 /user/hive/warehouse #修改文件权限
6、添加mysql驱动
cd /usr/local/soft/hive/lib
上传mysql的驱动
使用xftp上传 mysql-connector-java-5.1.49-bin.jar
7、初始化mysql元数据库
schematool -initSchema -dbType mysql //初始化成功最后会出现
8、开启元数据
nohup hive —service metastore & #开启元数据
9、启动hive并测试
hive
进入hive shell命令行
#创建test数据库create database test;#切换test数据库use test;#建表create table if not exists `city_aqi`( `province` string COMMENT "省份",`city` string COMMENT "城市",update_time string COMMENT "更新时间",`aqi` int COMMENT "空气质量指数",`aqstatus` string COMMENT "空气质量状态",`aqwarning` string COMMENT "空气质量预警",`PM2` int COMMENT "PM2.5",`CO` float COMMENT "一氧化碳",`SO2` int COMMENT "二氧化硫SO2(μg/立方米)",`PM10` int COMMENT "PM10(μg/立方米)",`O3` int COMMENT "臭氧",`NO2` int COMMENT "二氧化氮")ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';#查看表show tables;#加载数据操作load data local inpath "/usr/local/soft/city_aqi.csv" into table city_aqi;#查看数据select * from city_aqi limit 10;#统计表中一共有多少条数据select count(*) from city_aqi;#统计aqi状态分别由多少条数据select aqstatus,count(*) from city_aqi group by aqstatus;
用xftp上传 city_aqi.csv 到 /usr/local/soft/
