sr7*_*sr7 2 apache-spark apache-spark-sql
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)
Run Code Online (Sandbox Code Playgroud)
spark-sql:似乎直接连接到hive metastore,我们可以用与hive类似的方式编写查询。并查询配置单元中的现有数据
我想知道这两者之间的区别。并且在spark-sql中处理任何查询是否与在spark-shell中进行处理一样?我的意思是我们可以利用spark-sql中spark的性能优势吗?
Spark 1.5.2在这里。
spark-shell
给您一个可工作的Spark环境,其中Scala是(编程)语言。
spark-sql
给您一个Spark SQL环境,其中SQL是查询语言。
请注意,这spark-shell
适用于Spark中可用的任何API,而spark-sql
仅适用于Spark SQL API(带有数据集和数据帧)。
对于具有不同技能的用户,它们只是不同的界面(spark-shell
对于Spark / Scala开发人员而spark-sql
对于SQL开发人员)。
spark-sql
将“ Spark”基础结构“隐藏”在SQL接口后面,这使它在应具备的工程技能方面更高,但最终使用了Spark SQL(和Spark通常)中提供的所有优化。
性能方面spark-sql
和spark-shell
两者相似。
归档时间: |
|
查看次数: |
3803 次 |
最近记录: |