Apache Zeppelin 0.6.1:运行 Spark 2.0 推特流应用程序
Apache Zeppelin 0.6.1: Run Spark 2.0 Twitter Stream App
我有一个安装了 Spark 2.0 和 Zeppelin 0.6.1 的集群。由于 class TwitterUtils.scala
已从 Spark 项目移至 Apache Bahir,我无法再在我的 Zeppelin 笔记本中使用 TwitterUtils。
这是我笔记本的片段:
依赖加载:
%dep
z.reset
z.load("org.apache.bahir:spark-streaming-twitter_2.11:2.0.0")
DepInterpreter(%dep) deprecated. Remove dependencies and repositories through GUI interpreter menu instead.
DepInterpreter(%dep) deprecated. Load dependency through GUI interpreter menu instead.
res1: org.apache.zeppelin.dep.Dependency = org.apache.zeppelin.dep.Dependency@4793109a
Spark 部分:
import org.apache.spark.streaming.twitter
import org.apache.spark.streaming._
import org.apache.spark.storage.StorageLevel
import scala.io.Source
import scala.collection.mutable.HashMap
import java.io.File
import org.apache.log4j.Logger
import org.apache.log4j.Level
import sys.process.stringSeqToProcess
import org.apache.spark.SparkConf
// ********************************* Configures the Oauth Credentials for accessing Twitter ****************************
def configureTwitterCredentials(apiKey: String, apiSecret: String, accessToken: String, accessTokenSecret: String) {...}
// ***************************************** Configure Twitter credentials ********************************************
val apiKey = ...
val apiSecret = ...
val accessToken = ...
val accessTokenSecret = ...
configureTwitterCredentials(apiKey, apiSecret, accessToken, accessTokenSecret)
// ************************************************* The logic itself *************************************************
val ssc = new StreamingContext(sc, Seconds(2))
val tweets = TwitterUtils.createStream(ssc, None)
val twt = tweets.window(Seconds(60))
当我在导入依赖项后尝试 运行 notebook 的 Spark 部分时,出现以下异常:
<console>:44: error: object twitter is not a member of package org.apache.spark.streaming
import org.apache.spark.streaming.twitter
我在这里做错了什么? Bahir 文档也使用 import org.apache.spark.streaming.twitter._
命令,参见 http://bahir.apache.org/docs/spark/2.0.0/spark-streaming-twitter/
好吧,dep
不是很稳定,既然它已经被弃用了,为什么不使用支持的方法呢?如果您不想修改 Spark 和 Zeppelin 配置文件,您可以将依赖项添加到解释器配置(为清楚起见,我省略了属性):
我有一个安装了 Spark 2.0 和 Zeppelin 0.6.1 的集群。由于 class TwitterUtils.scala
已从 Spark 项目移至 Apache Bahir,我无法再在我的 Zeppelin 笔记本中使用 TwitterUtils。
这是我笔记本的片段:
依赖加载:
%dep
z.reset
z.load("org.apache.bahir:spark-streaming-twitter_2.11:2.0.0")
DepInterpreter(%dep) deprecated. Remove dependencies and repositories through GUI interpreter menu instead.
DepInterpreter(%dep) deprecated. Load dependency through GUI interpreter menu instead.
res1: org.apache.zeppelin.dep.Dependency = org.apache.zeppelin.dep.Dependency@4793109a
Spark 部分:
import org.apache.spark.streaming.twitter
import org.apache.spark.streaming._
import org.apache.spark.storage.StorageLevel
import scala.io.Source
import scala.collection.mutable.HashMap
import java.io.File
import org.apache.log4j.Logger
import org.apache.log4j.Level
import sys.process.stringSeqToProcess
import org.apache.spark.SparkConf
// ********************************* Configures the Oauth Credentials for accessing Twitter ****************************
def configureTwitterCredentials(apiKey: String, apiSecret: String, accessToken: String, accessTokenSecret: String) {...}
// ***************************************** Configure Twitter credentials ********************************************
val apiKey = ...
val apiSecret = ...
val accessToken = ...
val accessTokenSecret = ...
configureTwitterCredentials(apiKey, apiSecret, accessToken, accessTokenSecret)
// ************************************************* The logic itself *************************************************
val ssc = new StreamingContext(sc, Seconds(2))
val tweets = TwitterUtils.createStream(ssc, None)
val twt = tweets.window(Seconds(60))
当我在导入依赖项后尝试 运行 notebook 的 Spark 部分时,出现以下异常:
<console>:44: error: object twitter is not a member of package org.apache.spark.streaming
import org.apache.spark.streaming.twitter
我在这里做错了什么? Bahir 文档也使用 import org.apache.spark.streaming.twitter._
命令,参见 http://bahir.apache.org/docs/spark/2.0.0/spark-streaming-twitter/
好吧,dep
不是很稳定,既然它已经被弃用了,为什么不使用支持的方法呢?如果您不想修改 Spark 和 Zeppelin 配置文件,您可以将依赖项添加到解释器配置(为清楚起见,我省略了属性):