在zepplin 使用spark sql 查詢mongodb的數據
阿新 • • 發佈:2018-05-02
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的數據