我是新来的火花和蜂巢。我需要了解当蜂箱表在星火中被查询时后面发生了什么。我正在使用PySpark
例如:
warehouse_location = '\user\hive\warehouse'
from pyspark.sql import SparkSession
spark =SparkSession.builder.appName("Pyspark").config("spark.sql.warehouse.dir", warehouse_location).enableHiveSupport().getOrCreate()
DF = spark.sql("select * from hive_table")在上述情况下,实际的SQL是在spark框架中运行还是在Hive的MapReduce框架中运行。
我只是想知道SQL是如何处理的。无论是在蜂巢还是在火场?
发布于 2018-05-07 10:00:50
SparkSQL允许向Hive表读取和写入数据。除了Hive数据之外,任何RDD都可以转换为DataFrame,SparkSQL可以用于在DataFrame上运行查询。
实际的执行将发生在Spark上。您可以在您的示例中通过运行DF.count()来检查这一点,并通过Spark UI在http://localhost:4040跟踪作业。
发布于 2018-05-07 10:33:13
enableHiveSupport()和HiveContext很有误导性,因为它们暗示与Hive有更深层次的关系。
在实践中,Hive支持意味着Spark将使用Hive亚稳态来读取和写入元数据。在2.0之前,some additional benefits (窗口函数支持,更好的解析器)已经不在这里了。
蜂巢支持并不意味着:
https://stackoverflow.com/questions/50210450
复制相似问题