欢迎投稿

今日深度:

hive mysql,

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';


建表时说明分割符号为 制表键

再次插入数据正常

www.htsjk.Com true http://www.htsjk.com/hive/39269.html NewsArticle hive mysql, 一、 cd /hive/bin ./hive create database test ; show databases ; ../hive/bin/hive show databases; 为空 创建的数据结果存放在 metastore.db 中 会检索当前目录中metastore.db存放的 信息 第二种启动方式...
相关文章
    暂无相关文章
评论暂时关闭