sqoop安装及初体验(hive配置mysql服务器)

先要安装mysql服务

centos6.5可以直接用yum下载具体可参考https://mp.csdn.net/postedit/80139841这篇文章


---------------------------------------------------------------------------------------------------------------------------------

//在这里顺便配置一下hive里面的mysql。这样hive用的是mysql而不是自带的derby来存储文件信息

.配置hive
(a)配置HIVE_HOME环境变量  vi conf/hive-env.sh 配置其中的$hadoop_home



(b)配置元数据库信息   vi  hive-site.xml 
添加如下内容:


javax.jdo.option.ConnectionURL
jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true
JDBC connect string for a JDBC metastore




javax.jdo.option.ConnectionDriverName
com.mysql.jdbc.Driver
Driver class name for a JDBC metastore




javax.jdo.option.ConnectionUserName
root
username to use against metastore database




javax.jdo.option.ConnectionPassword
root
password to use against metastore database


---------------------------------------------------------------------------------------------------------------------------------

下面的命令是用sqoop将 关系型数据库的东西导入到hdfs上面

bin/sqoop import   \

--connect jdbc:mysql://192.168.235.128:3306/test   \

--username root  \

--password wxawxa   \

--table emp \

--m 1   

也可以直接写到hive中去

bin/sqoop import --connect jdbc:mysql://192.168.235.128:3306/test --username root --password wxawxa --table emp --hive-import --m 1

先要保存到本地上才能保存到hive中去

所以遇到这个 hdfs://hadoop01:9000/user/root/emp already exists 错误是之前的实验已经创建了这个文件夹只要删除即可

下面的命令是用来导入emp_add表数据到'/queryresult'目录。

bin/sqoop import \

--connect jdbc:mysql://hdp-node-01:3306/test \

--username root \

--password root \

--target-dir /queryresult \

--table emp --m 1

当报错Could not load org.apache.hadoop.hive.conf.HiveConf. Make sure HIVE_CONF_DIR is set correctly.的时

解决:
在hdfs用户下添加环境变量HADOOP_CLASSPATH
# vi ~/.bash_profile
export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:/export/servers/apache-hive-1.2.2-bin/lib/*

# source ~/.bash_profile



你可能感兴趣的:(sqoop,hive)