【发布时间】:2017-09-28 14:32:13
【问题描述】:
Spark-shell: 基本上会打开scala> 提示符。查询需要按以下方式写的地方
val sqlContext = new org.apache.spark.sql.hive.HiveContext(sc)
// Queries are expressed in HiveQL
sqlContext.sql("FROM src SELECT key, value").collect().foreach(println)
spark-sql:这似乎直接连接到 hive 元存储,我们可以用与 hive 类似的方式编写查询。并查询 hive 中的现有数据
我想知道这两者之间的区别。在 spark-sql 中处理任何查询是否与在 spark-shell 中相同?我的意思是我们可以在 spark-sql 中利用 spark 的性能优势吗?
Spark 1.5.2 在这里。
【问题讨论】:
-
嗯,spark-shell 只是一个外壳。另一方面,spark-sql 是一个库。比较它们就像比较苹果和西红柿。顺便说一句,spark-shell 会自动导入不同的 spark 库并实例化
sqlContext所以你不需要这行val sqlContext = new org.apache.spark.sql.hive.HiveContext(sc)。
标签: apache-spark apache-spark-sql