使用hdinsight运行spark和scala脚本。我使用的是intellij中azure插件提供的示例脚本。
它为我提供了以下代码:
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")
不过,我期待在一个Parquet文件加载。我在别处找到的Parquet文件的代码是:
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中断了。我做错什么了?如何使用hdinsight创建一个spark会话或上下文,允许我阅读文本文件、parquet和其他所有内容?我怎样才能两全其美呢
我的理解是sparksession,是更好更近的方式。我们应该用什么。那么如何在hdinsight中运行它呢?
提前谢谢
1条答案
按热度按时间qgelzfjb1#
如果我加上
在Spark上下文行之后和Parquet地板之前,阅读部分,它工作。