Hive连接MongoDB
Hive上创建的表可以是HDFS-based,也可以是MongoDB-based。MongoDB-based的Hive表,其实就是一个将MongoDB collection的数据与Hive表的字段相关联的映射。实施的步骤如下:
安装
- 下载Hadoop Connector。可以从Maven的仓库里面下载http://repo1.maven.org/maven2/org/mongodb/mongo-hadoop/。其中需要使用到的有“core” JAR与“hive” JAR。
- 下载MongoDB Java Driver的JAR包。
- 将这些JAR包复制到Hadoop集群的每个节点。可以用Hadoop DistributedCache将这些JAR包复制到集群的每个节点,也可以将这些JAR包放到Hadoop的CLASSPATH下,如($HADOOP_PREFIX/share/hadoop/common)。
- 在Hive脚本里面,使用
ADD JAR
的命令来包含这些JAR包(core,hive以及Java driver),如ADD JAR /path-to/mongo-hadoop-hive-<version>.jar;
备注:上述JAR包不一定要放在Hadoop的CLASSPATH下,可以放在任意路径,在ADD JAR $JAR_PATH
的时候将存放JAR包的路径带上即可。如
版本要求
Mongo-Hadoop支持Hive版本>=0.9。
支持Hadoop版本大于0.20.x。支持CDH4。