在zepplin 使用spark sql 查询mongodb的数据

 1.下载zepplin

进入官网下载地址 ,下载完整tar包.

 

2.解压

tar zxvf zeppelin-0.7.3.tgz

3.修改配置

新建配置文件

cp zeppelin-env.sh.template zeppelin-env.sh

修改配置文件

vi zeppelin-env.sh

# 设置java home 路径

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.141-1.b16.el7_3.x86_64/jre

# 设置spark master 地址

export MASTER=spark://10.100.12.16:7077

# 设置spark home 路径

export SPARK_HOME=/opt/spark/

# 设置spark mongodb connector, 注意:这里用的是2.2.2版本

export SPARK_SUBMIT_OPTIONS="--packages org.mongodb.spark:mongo-spark-connector_2.11:2.2.2"

 

4.启动zepplin

bin/zeppelin-daemon.sh start

5.用浏览器进入zepplin后台:http://localhost:8080

 

6.点击notebook,新建查询.

 

7.写scala 查询代码

import com.mongodb.spark.config.ReadConfigimport com.mongodb.spark.sql._val config = sqlContext.sparkContext.getConf.set("spark.mongodb.keep_alive_ms", "15000").set("spark.mongodb.input.uri", "mongodb://10.100.12.14:27017").set("spark.mongodb.input.database", "bi").set("spark.mongodb.input.collection", "userGroupMapping")val readConfig = ReadConfig(config)val objUserGroupMapping = sqlContext.read.format("com.mongodb.spark.sql").mongo(readConfig)objUserGroupMapping.printSchema()val tbUserGroupMapping=objUserGroupMapping.toDF()tbUserGroupMapping.registerTempTable("userGroupMapping")

8.返回查询结果

 

相关文章