使用事件中心将数据流式传输到Azure Databricks

时间:2019-02-14 15:06:11

标签: azure stream databricks

我想将消息从Twitter应用程序发送到Azure事件中心。但是,我得到一个错误,指出不是java.util.concurrent.ExecutorService使用     java.util.concurrent.ScheduledExecutorService

我不知道如何立即创建EventHubClient.create。请帮忙。

我指的是链接中的代码

https://docs.microsoft.com/en-us/azure/azure-databricks/databricks-stream-from-eventhubs

这是我得到的错误:

  

笔记本:15:错误:类型不匹配;发现:   需要java.util.concurrent.ExecutorService:   java.util.concurrent.ScheduledExecutorService

val pool = `Executors.newFixedThreadPool(1)`

val eventHubClient = EventHubClient.create(connStr.toString(), pool)

这是我的代码,

import java.util._
import scala.collection.JavaConverters._
import com.microsoft.azure.eventhubs._
import java.util.concurrent.{Executors, ExecutorService}

val pool: ExecutorService = Executors.newFixedThreadPool(1)
val eventHubClient = EventHubClient.create(connStr.toString(), pool)

1 个答案:

答案 0 :(得分:0)

使用Maven坐标com.microsoft.azure:azure-eventhubs-spark_2.11:2.3.2或更高版本在Databricks工作区中创建一个库。 将创建的库附加到您的群集,然后将笔记本重新附加到您的群集。

import java.util._
import scala.collection.JavaConverters._
import com.microsoft.azure.eventhubs._
import java.util.concurrent._
//Set up Connection to Azure Event Hubs
val namespaceName = "namespaceName_of_event_hub"
val eventHubName = "Name_of_event_hub"
val sasKeyName = "your_Sas_key_name"
val sasKey = "xxxxxxxxxxxxxxxxxxxxxxx"
val connStr = new ConnectionStringBuilder()
            .setNamespaceName(namespaceName)
            .setEventHubName(eventHubName)
            .setSasKeyName(sasKeyName)
            .setSasKey(sasKey)
val pool = Executors.newFixedThreadPool(1)
val eventHubClient = EventHubClient.create(connStr.toString(), pool)