AWS EMR Spark作业步骤将无法执行

时间:2019-02-23 22:52:32

标签: scala amazon-web-services apache-spark apache-spark-sql amazon-emr

我正在尝试在AWS上运行Spark程序。它简单地读取csv文件并使用dataframe.show()打印它。从过去15到20分钟以来,我一直在等待执行该步骤,但没有任何进展。 s3存储桶中的csv文件非常小,只有10行2列。 这是我的程序:

import org.apache.spark.SparkConf
import org.apache.spark.SparkContext
import org.apache.log4j.LogManager
import org.apache.log4j.Level
import org.apache.spark.sql.SparkSession
import org.apache.spark.sql._
import org.apache.spark.sql.types._

object TriangleCountMain {
    //Edge object
    case class Edge(from: Int, to: Int)

  def main(args: Array[String]) {
        val logger: org.apache.log4j.Logger = LogManager.getRootLogger
        if (args.length != 2) {
          logger.error("Usage:\nTwitterDataSet_Spark.TriangleCountMain <input dir> <output dir>")
          System.exit(1)
        }

    //Spark Session
    val spark = SparkSession
    .builder()
    .appName("Spark SQL basic example")
    .getOrCreate()

    import spark.implicits._

    //Dataframe structure
    val dfSchema = StructType(Array(
        StructField("from", IntegerType, true),
        StructField("to", IntegerType, true)))


    //Data set of edges
    val nonFilteredEdge: Dataset[Edge] = spark.read
                        .option("header", "false")
                        .option("inferSchema", "true")
                        .schema(dfSchema)
                        .csv(args(0))
                        .as[Edge]


    val edge = nonFilteredEdge
    edge.show
    spark.stop
  }
}

此程序在本地成功运行。 谢谢。

0 个答案:

没有答案