Use spark sql to query mongodb data in zepplin

 1. Download zepplin

Enter the official website download address  and download the complete tar package.

 

2. Unzip

tar zxvf zeppelin-0.7.3.tgz

3. Modify the configuration

New configuration file

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

Modify the configuration file

vi zeppelin- env . sh

# set java home path

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

# Set the spark master address

export MASTER=spark://10.100.12.16:7077

# set spark home path

export SPARK_HOME=/opt/spark/

# Set the spark mongodb connector, note: version 2.2.2 is used here

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

 

4. Start zepplin

bin/zeppelin-daemon.sh start

5. Use the browser to enter the zepplin background: http://localhost:8080

 

6. Click on notebook to create a new query.

 

7. Write scala query code

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)
select objUserGroupMapping = sqlContext.read
.format("com.mongodb.spark.sql")
.mongo (readConfig)
objUserGroupMapping.printSchema()
val tbUserGroupMapping = objUserGroupMapping.toDF ()
tbUserGroupMapping.registerTempTable("userGroupMapping")

8. Return query results

 

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325194673&siteId=291194637