首页 > 解决方案 > 不允许 EMR Master SSH

问题描述

要运行 Scala spark 作业并运行 spark shell 查询……我一直在通过 SSH 连接到 EMR 的主节点,现在负责管理云的团队不允许我通过 SSH 连接到 EMR 主节点。可以利用哪些替代模式?

标签: apache-sparksshamazon-emr

解决方案


如果云团队愿意允许访问 Zeppelin,那么 Zeppelin 是您最好的选择。

解释器%spark几乎spark-shell在笔记本的段落中运行。

它还默认导入重要的东西,比如spark.sqlSparkContext等等,所以你不需要导入任何东西,只需运行代码,例如:

%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 /

尽管您的访问权限当然取决于操作系统权限。

请注意,一旦您杀死集群,您的笔记本也会消失!确保尽可能下载它。


推荐阅读