今天,配置了hive的环境,了解到,hive的一个使用
hive安装分为几步
首先,下载解压hive安装包,我使用的是hive-1.x版
然后就是conf下的几个文件的修改,基本需要注意的就是,你的mysql的连接方式
使用过javaweb的我们,应该是可以看懂的
需要注意的几点就是如果你是虚拟机,你需要使用的ip是
如果是伪分布式就得使用
此外就是下一步
在hive/lib下放置一个mysql连接包
如果你的mysql用的是5.X,或者8.X分别对应不同的包,在hive-site.xml下就得使用不同的驱动,具体的来说就是
5.X为com.mysql.jdbc.Driver
8.X为com.mysql.cj.jdbc.Driver
这边附上我的hive-site.xml源码:
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>hive.cli.print.header</name> <value>true</value> </property> <property> <name>hive.cli.print.current.db</name> <value>true</value> </property> <property> <name>hive.metastore.warehouse.dir</name> <value>/user/hive/warehouse</value> </property> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://10.91.1.184:3306/hive_metastore?createDatabaseIfNotExist=true</value> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>root</value> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>root</value> </property> <property> <name>datanucleus.schema.autoCreateAll</name> <value>true</value> </property> </configuration>
也可以连接虚拟机上的mysql
这只要把ip换成localhost再修改账户密码就可以了
其中还出现了一个问题,第一次使用hive时,mysql中的
一开始是没有表的,然后你在执行hive前,记得执行一步
schematool -dbType mysql -initSchema
虚拟机的mysql也可以用本机的猫访问,只要把用户设置为可外界访问即可
use mysql
select user,host from user;
update user set host="%" where user="root";
即可,然后就是导表的语句
create table zzsfp_hwmx
(fp_nid string,date_key string,hwmc string,ggxh string,dw string,sl double
,dj double,je double,se double,spbm string)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ',';
然后就是load data local inpath '/data/zzsfp.txt' into table zzsfp_hwmx;
即可
最后结果就是
这就是数据导入hive