`
phz50
  • 浏览: 106248 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

Hadoop学习全程记录——使用sqoop将mysql中数据导入到hive中

阅读更多
接上一篇文章:Hadoop学习全程记录——hive入门

hive是Facebook的产品,最早研发它的目的是用它来对Facebook网站每天产生的海量日志进行分析。有时我们需要分析的数据可能存在数据库中,这时我们可以利用sqoop将mysql中数据导入到hive中。

操作系统:在windows下使用wubi安装了ubuntu 10.10
hadoop版本:hadoop-0.20.2.tar.gz
zookeeper版本:zookeeper-3.3.3.tar.gz
hive版本:hive-0.6.0 .tar.gz
sqoop版本:sqoop-1.2.0-CDH3B4.tar.gz

其中sqoop是将mysql数据导入hive的工具。这篇文章http://archive.cloudera.com/cdh/3/sqoop-1.2.0-CDH3B4/SqoopUserGuide.html比较详细得介绍了sqoop的使用。

主要的使用命令为:
$ sqoop import --connect jdbc:mysql://IP:PORT/DATABASE --username USERNAME --password PASSWORD --table TABLE --hive-import


通过上面的命令我们就能把数据库DATABASE中的TABLE表导入到hive中了,在hive环境使用命令:
hive> show tables;

就能发现多了一个TABLE表了,接下来就可以使用hive对表中数据进行分析了。

在使用过程中可能遇到的问题:
  • sqoop依赖zookeeper,所以必须配置ZOOKEEPER_HOME到环境变量中。
  • sqoop-1.2.0-CDH3B4依赖hadoop-core-0.20.2-CDH3B4.jar,所以你需要下载hadoop-0.20.2-CDH3B4.tar.gz,解压缩后将hadoop-0.20.2-CDH3B4/hadoop-core-0.20.2-CDH3B4.jar复制到sqoop-1.2.0-CDH3B4/lib中。
  • sqoop导入mysql数据运行过程中依赖mysql-connector-java-*.jar,所以你需要下载mysql-connector-java-*.jar并复制到sqoop-1.2.0-CDH3B4/lib中。


只要注意这几点,我们就能使用sqoop将mysql中的表数据导入到hive进行并行计算分析了,当然只有在mysql中存在海量数据时才使用这个方法,一般数据量时,使用mysql的SQL语句已经足够了。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics