Spark上的Spark-SQL和Hive之间的区别 . 我正在浏览spark和sql的文档,并试图了解Spark上的Spark-SQL和HIVE之间的区别 .
-
考虑一个案例,当我发起一个火花会话 without 任何明显的hive支持,比如复制
hive-site.xml
然后在我的spark程序中保存一个表,数据和元数据将存储在哪里 . 将火花创造一个新的Hive Metastore(如德比)? -
考虑一个案例,当我发起一个火花会话 with hive支持,比如复制
hive-ste.xml
并让spark知道现有的hive . 然后,如果我坚持表格,数据和元数据将存储在HDFS的现有Hive Metastore和Data in Warehouse目录中 . -
如果我通过将执行引擎属性更改为Spark来运行HIVE,那么它与上述案例2相同吗?
谢谢 .
1 回答
当你启动一个火花会话时,数据可以存储在S3或HDFS中 . 如果你没有明确地创建它,它将不会固有地创建一个Hive会话 .
如果您使用引用Hive表的'saveastable'子句,则为Yes . 数据将保留在HDFS中 . 请记住,如果删除EMFS中的HDFS实例,表格将随其数据一起被删除 .
对问题#3不确定