目录
1. Spark 简介
Spark 是基于 map reduce 算法实现的分布式计算,拥有 Hadoop MapReduce 所具有的优点 ; 但不同于 MapReduce 的是 Job 中间输出和结果可以保存在内存中,从而不再需要读写 HDFS ,因此 Spark 能更好地适用于数据挖掘与机器学习等需要迭代的 map reduce 的算。
2. Hue 中 使用 Spark
UDH 安装过程 中勾选 Spark 服务 和 Hue 服务, 安装完成 后 Hue 服务 界面会内嵌 Spark 服务。切换到 hue 的主页从快速链接进入到 hue 的 web 端,点击 Query Editor 选择 Spark 进入该服务的操作界面:
可以看到 Spark 的页面为:
Spark 提供多种类型的工作方式,包括支持 Scala 、 Python 、 SQL ( hive , impala )、 Text 。可从下图的下拉菜单中选择您需要的工作方式,进行编程实现相应的功能:
下面 的章节将介绍 多种 类型 的 语言在 Spark 中运行 的 具体案例 。
2.1. Spark & Python
在下拉菜单中选择 Python ,点击右侧“加号”按钮,则页面出现一个 Python 的编辑框,如下图所示:
在编辑框中输入相应的 Spark 程序,下图 的例子是 一个 利用 Spark python 通过扔飞镖估算 Pi 的值的 计算 ( spark 适用密集型计算)。
点击左侧的“运行”按钮,即可运行:
运行结果将显示在代码编辑框下方的空白处。
2.2. Spark & Scala
在下拉菜单中选择 Scala ,点击右侧“加号”按钮,则页面出现一个 Scala 的编辑框,添加相应代码:
该 代码 统计 hdfs 文件里单词个数,具体 如下图所示:
执行结果为:
2.3. Spark & Impala
同时, S park 可通过调用 hive/impal api 来完成增、删、改、查等操作:
在下拉菜单中选择 Impala ,点击右侧“加号”按钮,则页面出现一个 Impala 的编辑框,添加相应代码:
可 如 Impala 页面 一样 在编辑框 下方查看执行结果 。
2.4. Spark & Hive
在下拉菜单中选择 Hive ,点击右侧“加号”按钮,则页面出现一个 Hive 的编辑框,添加相应代码:
可 如 Hive 页面 一样 在编辑框 下方查看执行结果 。
3. 注意 事项
多次添加 python 或 scala 编辑框会报如下 错误:
--- FAILED SelectChannelConnector@0.0.0.0:4040: java.net.BindException: 地址已在使用
解决方案 :
1 、 建议每个打开一个即可;
2 、 手动杀掉 其中一个进程 ( kill -9 进程号 )
Attachments:
Hue之Spark使用.docx (application/vnd.openxmlformats-officedocument.wordprocessingml.document)