apache-spark - 不允许 EMR Master SSH
问题描述
要运行 Scala spark 作业并运行 spark shell 查询……我一直在通过 SSH 连接到 EMR 的主节点,现在负责管理云的团队不允许我通过 SSH 连接到 EMR 主节点。可以利用哪些替代模式?
解决方案
如果云团队愿意允许访问 Zeppelin,那么 Zeppelin 是您最好的选择。
解释器%spark
几乎spark-shell
在笔记本的段落中运行。
它还默认导入重要的东西,比如spark.sql
,SparkContext
等等,所以你不需要导入任何东西,只需运行代码,例如:
%spark
val myDf = spark.sql(“select * from table”)
myDf.limit(10).show()
val myOtherDf = spark.read.csv(“s3://bucket/key/object.csv”)
myOtherDf.limit(10).show()
(spark-shell
也可以这样做,但我用它不足以立即知道)
由于 Zeppelin 实际上在 Spark Master 节点上运行,您甚至可以使用 shell 解释器访问主节点的操作系统,%sh
例如:
%sh
ls /
aws s3 cp s3://mybucket/myfile /
尽管您的访问权限当然取决于操作系统权限。
请注意,一旦您杀死集群,您的笔记本也会消失!确保尽可能下载它。
推荐阅读
- r - 非常令人困惑的 R 功能 - 完成列表项名称
- xamarin.forms - Xamarin 窗体 Android 工具栏文本颜色
- azure - 适用于来自 Azure 云服务的流量的 Azure NSG 规则
- sql - 使用公用表表达式运行多个查询
- python - 将默认列表参数传递给数据类
- ubuntu-15.04 - ubuntu 操作系统 apt-get upate 命令给了我错误
- c++ - 返回本地对象的元组
- javascript - Angular - 如何显示数组中的数据?
- javascript - 参数列表后未捕获的 SyntaxError: 缺失) - Forloop JS
- ios - 导出 Xcode 应用程序供个人通过 Web 服务器下载