1. 程式人生 > >在zepplin 使用spark sql 查詢mongodb的數據

在zepplin 使用spark sql 查詢mongodb的數據

set int b16 nts CP start lec java_home packages

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.ReadConfig
import 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.返回查詢結果

技術分享圖片

在zepplin 使用spark sql 查詢mongodb的數據