微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

HUE中如何配置Notebook提交spark

本篇文章为大家展示了HUE中如何配置Notebook提交spark,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

 

    为执行Spark Job,Hue提供了执行服务器Livy,加强了Hue notebook对spark的支持。它类似于Oozie hadoop工作流服务器,对外提供了Rest Api,客户端将spark jar以及配置参数传递给livy,livy依据配置文件以及参数执行jar。

hue配置文件*.ini中配置如下:

HUE中如何配置Notebook提交spark

1.测试scalahue登录点击“数据分析”-scala ,粘贴 点击运行

val data = Array(1, 2, 3, 4 ,5)

val distData = sc.parallelize(data)

distData.map(s=>s+1).collect()

点击 运行,如图所示:

HUE中如何配置Notebook提交spark

2.测试Spark Submit Jar   点击“数据分析”-Spark Submit Jar,粘贴 点击运行

HUE中如何配置Notebook提交spark

会报错:"java.lang.NullPointerException"(500)

修改Hue中文件

desktop/libs/notebook/src/notebook/connectors/spark_batch.py,文件已放入附件中,删除35行-80行原来的代码,替换为附件中的代码,之后执行spark自带的example可执行成功。+表示增加行,-表示删除

  def execute(self, notebook, snippet):

     api = get_spark_api(self.user)

-    properties = {

-        'file': snippet['properties'].get('app_jar'),

-        'className': snippet['properties'].get('class'),

-        'args': snippet['properties'].get('arguments'),

-        'pyFiles': snippet['properties'].get('py_file'),

-        'files': snippet['properties'].get('files'),

-        # driverMemory

-        # driverCores

-        # executorMemory

-        # executorCores

-        # archives

-    }

+    if snippet['type'] == 'jar':

+        properties = {

+            'file': snippet['properties'].get('app_jar'),

+            'className': snippet['properties'].get('class'),

+            'args': snippet['properties'].get('arguments'),

+        }

+    elif snippet['type'] == 'py':

+        properties = {

+            'file': snippet['properties'].get('py_file'),

+            'args': snippet['properties'].get('arguments'),

+        }

+    else:

+        properties = {

+            'file': snippet['properties'].get('app_jar'),

+            'className': snippet['properties'].get('class'),

+            'args': snippet['properties'].get('arguments'),

+            'pyFiles': snippet['properties'].get('py_file'),

+            'files': snippet['properties'].get('files'),

+            # driverMemory

+            # driverCores

+            # executorMemory

+            # executorCores

+            # archives

+        }

     response = api.submit_batch(properties)

     return {

上述内容就是HUE中如何配置Notebook提交spark,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程之家行业资讯频道。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐