hive mysql,
一、cd /hive/bin
./hive
create database test ;
show databases ;
../hive/bin/hive
show databases;
为空
创建的数据结果存放在 metastore.db 中
会检索当前目录中metastore.db存放的 信息
第二种启动方式,是在其他目录中进行启动的,
检索不到meta.db
二、
1.删除 hadoop hdfs 创建的 path
2.删除hdfs中的/user/hive
hadoop fs -rmr /user/hive
3.复制hive/conf/hive-default.xml.template为hive-site.xml
cp hive-default.xml.template hive-site.xml
4.编辑胚子文件
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://hadoop01:3306/hive?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</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>
<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>root</value>
<description>password to use against metastore database</description>
</property>
其余配置删除;
地址、驱动、用户、密码
三、
1.上传 sql的驱动.jar 到 hive/lib
mysql-connector-bin.jar
2.mysql -u root -p
GRANT ALL PRIVILEGES ON *.* TO 'root'@'linux01' IDENTIFIED BY 'root' WITH GRANT OPTION;
FLUSH PRIVILEGES;
3.启动 ./hive
四、
上传数据
1.txt
1 aaa
2 bbb
3 ccc
load data local inpath 'usr/local/software/data/1.txt' into table tab1 ;
会出现
select * from tab1;
NULL NULL
因为 hive 无法识别 分割符号
解决:
create external table ext_student(id int ,name string) row format delimited fields terminated by '\t' location '/datax';
建表时说明分割符号为 制表键
再次插入数据正常
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。