Apache Spark 2.3.1-pyspark.sql.SparkSession.builder.enableHiveSupport()是否必要?

时间:2018-08-15 20:40:51

标签: apache-spark hadoop hive

我对Hive的理解是,它提供了一种使用SQL命令查询HDFS的方法。

好的,但是有火花。 Spark拥有所有的RDD类方法,这些方法完全可以使用,但我对SQL更满意。

输入Spark SQL。因此,既然我现在可以使用Spark SQL使用SQL查询数据库,为什么Hive会输入图片?

文档说:

enableHiveSupport():
Enables Hive support, including connectivity to a persistent Hive metastore, support for Hive serdes, and Hive user-defined functions.

您为什么需要连接到Hive Metastore? 在Spark的文档中,它说要配置hdfs-site.xml和core-site.xml并将HADOOP_CONF_DIR中的$SPARK_HOME/conf/spark-env.sh设置为包含配置文件的位置。

http://spark.apache.org/docs/latest/configuration.html#inheriting-hadoop-cluster-configuration

注意:这是我第一次阅读文档并尝试了解发生了什么... apache很有趣。

有人可以确认我可以忘记HIVE吗?

1 个答案:

答案 0 :(得分:1)

spark-shell自动具有此功能。在已编译的Spark提交中,您需要Hive支持才能访问和更新Hive Metastore或Spark Metastore。协议问题。对于用于数据库访问的jdbc,则不需要它。如果仅写入文件,则也不需要,例如实木复合地板写入或追加到HDFS子目录。但是,您就不能对Hive表,Impala表使用spark.sql ...,因为它只是一个文件。如果想通过Impala jdbc,Kudu会有所不同。