“War of the Hadoop SQL engines. And the winner is …?” 这是一个非常好的问题。只要。无论答案是什么。我们都值花一点时间找出 Spark SQL 这个 Spark 里面的家庭成员。
原本Apache Spark SQL 官网上的代码片断(Spark官网上的样例有个通病:不提供完整代码)已经写得算比較清楚,但假设用户全然把它的代码拷贝下来,可能会碰到编译不通过的问题。另外,Spark官网上的样例还有另外一个通病:不提供test data。因此。为了大家能不走弯路、高速体验Spark
SQL API。本文将展示一个改写自官网样例的小程序,以及执行结果。
[A 程序]
[B 測试数据]
product.data:
[C 运行]
用 spark-submit 将程序提交到Yarn上运行。
[D 运行结果]
- Console:
- Yarn Web Console:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc2FtaGFja2Vy/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
- Yarn App Log:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc2FtaGFja2Vy/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
[E 小结]
- 注意须要把内部类 Product 定义在main方法外面,否则会引起编译错误
- 直接利用Spark SQL API定义一个“表对象”(SchemaRDD)还是比较简单
- 下一步骤可以是尝试和 HiveQL积分
版权声明:本文博客原创文章,博客,未经同意,不得转载。