交互式 Spark Shell

在 Spark shell 中交互运行 Spark 命令

您可以在 Spark shell 中交互式地运行 Spark。Spark shell 在 Scala、Python 和 R 中都有提供。

  1. 使用 dcos task exec启动长期运行的交互式 bash 会话

  2. 从互动式 bash 会话中,拉动并运行 Spark Docker 镜像。

    docker pull mesosphere/spark:1.0.9-2.1.0-1-hadoop-2.6
    
    docker run -it --net=host mesosphere/spark:1.0.9-2.1.0-1-hadoop-2.6 /bin/bash
    
  3. 从 Docker 镜像中运行 Scala Spark shell。

    ./bin/spark-shell --master mesos://<internal-leader-ip>:5050 --conf spark.mesos.executor.docker.image=mesosphere/spark:1.0.9-2.1.0-1-hadoop-2.6 --conf spark.mesos.executor.home=/opt/spark/dist
    

    或,运行 Python Spark shell。

    ./bin/pyspark --master mesos://<internal-leader-ip>:5050 --conf spark.mesos.executor.docker.image=mesosphere/spark:1.0.9-2.1.0-1-hadoop-2.6 --conf spark.mesos.executor.home=/opt/spark/dist
    

    或,运行 R Spark shell。

    ./bin/sparkR --master mesos://<internal-leader-ip>:5050 --conf spark.mesos.executor.docker.image=mesosphere/spark:1.0.9-2.1.0-1-hadoop-2.6 --conf spark.mesos.executor.home=/opt/spark/dist
    

    注意: 通过前往此处查找您的内部领导者 IP: dcos-url/mesos。内部领导者 IP 列在左上角。

  4. 交互式运行 Spark 命令。

    在 Scala shell 中:

    val textFile = sc.textFile("/opt/spark/dist/README.md")
    textFile.count()
    

    在 Python shell 中:

    textFile = sc.textFile("/opt/spark/dist/README.md")
    textFile.count()
    

    在 R shell 中:

    df <- as.DataFrame(faithful)
    head(df)