本篇文章为大家展示了HUE中如何配置Notebook提交spark,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
为执行Spark Job,Hue提供了执行服务器Livy,加强了Hue notebook对spark的支持。它类似于Oozie hadoop工作流服务器,对外提供了Rest Api,客户端将spark jar以及配置参数传递给livy,livy依据配置文件以及参数执行jar。
hue配置文件*.ini中配置如下:
1.测试scalahue登录点击“数据分析”-scala ,粘贴 点击运行
val data = Array(1, 2, 3, 4 ,5)
val distData = sc.parallelize(data)
distData.map(s=>s+1).collect()
点击 运行,如图所示:
2.测试Spark Submit Jar 点击“数据分析”-Spark Submit Jar,粘贴 点击运行
会报错:"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,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。
原创文章,作者:bd101bd101,如若转载,请注明出处:https://blog.ytso.com/tech/opensource/223212.html