本文共 1759 字,大约阅读时间需要 5 分钟。
先要安装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_profileexport HADOOP_CLASSPATH=$HADOOP_CLASSPATH:/export/servers/apache-hive-1.2.2-bin/lib/*
# source ~/.bash_profile
转载地址:http://tgrzs.baihongyu.com/