代码之家  ›  专栏  ›  技术社区  ›  JetS79

Hdinsight Spark Session问题与镶木地板

  •  0
  • JetS79  · 技术社区  · 4 年前

    使用HDinsight运行spark和scala脚本。

    它为我提供了以下代码:

    val conf = new SparkConf().setAppName("MyApp")
    val sc = new SparkContext(conf)
    

    很公平。我可以这样做:

    val rdd = sc.textFile("wasb:///HdiSamples/HdiSamples/SensorSampleData/hvac/HVAC.csv")
    

    我可以保存文件:

    rdd1.saveAsTextFile("wasb:///HVACout2")
    

    不过,我期待在一个拼花文件加载。我在别处找到的拼花文件的代码是:

    val df = spark.read.parquet("resources/Parquet/MyFile.parquet/")
    

    上面一行给出了HDinsight中的一个错误(当我通过intellij提交jar时)。

    你为什么不用?:

    val spark = SparkSession.builder
      .master("local[*]") // adjust accordingly
      .config("spark.sql.warehouse.dir", "E:/Exp/") //change accordingly
      .appName("MySparkSession") //change accordingly
      .getOrCreate()
    

    当我加入spark会话并摆脱spark上下文时,hdinsight中断了。 我做错什么了?

    我的理解是SparkSession,是更好更近的方式。我们应该用什么。那么如何在HDInsight中运行它呢?

    提前谢谢

    1 回复  |  直到 4 年前
        1
  •  0
  •   JetS79    4 年前

    如果我加上

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