如何在Azure Spark的Jupyter中使用外部包

时间:2017-03-28 23:37:14

标签: apache-spark jupyter-notebook

我正在尝试在Azure Spark的Jupyter中添加外部包。

%%configure -f
{ "packages" : [ "com.microsoft.azure:spark-streaming-eventhubs_2.11:2.0.4" ] }

其输出:

Current session configs: {u'kind': 'spark', u'packages': [u'com.microsoft.azure:spark-streaming-eventhubs_2.11:2.0.4']}

但是当我尝试导入时:

import org.apache.spark.streaming.eventhubs.EventHubsUtils

我收到了一个错误:

  

由于致命错误导致代码失败:状态代码无效' 400'   从   http://an0-o365au.zdziktedd3sexguo45qd4z4qhg.xx.internal.cloudapp.net:8998/sessions   错误有效负载:"无法识别的字段\"包\" (类   com.cloudera.livy.server.interactive.CreateInteractiveRequest),不是   标记为可忽略(15个已知属性:\" executorCores \",\" conf \",   \" driverMemory \",\" name \",\" driverCores \",\" pyFiles \",   \" archives \",\" queue \",\" kind \",\" executorMemory \",\& #34;文件\&#34 ;,   \" jars \",\" proxyUser \",\" numExecutors \",   \" heartbeatTimeoutInSecond \" [截断]])\ n在[来源:   HttpInputOverHTTP @ 5bea54d; line:1,column:32](通过引用   链:   com.cloudera.livy.server.interactive.CreateInteractiveRequest [\"包\"])"

     

要尝试的一些事项:a)确保Spark有足够的可用资源   为Jupyter创建Spark上下文。有关如何使用的说明   分配资源见http://go.microsoft.com/fwlink/?LinkId=717038 b)   请与您的群集管理员联系,以确保Spark魔法   库已正确配置。

我也尝试过:

%%configure
{ "conf": {"spark.jars.packages": "com.microsoft.azure:spark-streaming-eventhubs_2.11:2.0.4" }}

得到了同样的错误。

有人能指出我在Azure Spark的Jupyter中使用外部包的正确方法吗?

1 个答案:

答案 0 :(得分:1)

如果您正在使用HDInsight 3.6,请使用以下内容。另外,在执行此操作之前,请务必重新启动内核

%%configure -f
{"conf":{"spark.jars.packages":"com.microsoft.azure:spark-streaming-eventhubs_2.11:2.0.4"}}

另外,请确保您的软件包名称,版本和Scala版本正确无误。具体来说,自发布此问题以来,您尝试使用的JAR已更改名称。有关现在所谓的内容的更多信息,请访问:https://github.com/Azure/azure-event-hubs-spark