HIVE 上的 Spark-SQL 插件

HIVE 有一个 Metastore,HIVESERVER2 监听 SQL 请求;在 Metastore 的帮助下,执行查询并将结果传回。 Thrift 框架实际上是定制为HIVESERVER2。通过这种方式,HIVE 充当了一种服务。通过编程语言,我们可以使用HIVE作为数据库。

Spark-SQL 和 HIVE 的关系是:

Spark-SQL 仅使用 HIVE 设置(HDFS 文件系统、HIVE Metastore、Hiveserver2)。当我们调用 /sbin/start-thriftserver2.sh(存在于 spark 安装中)时,我们应该提供 hiveserver2 端口号和主机名。然后通过 spark 的直线,我们实际上可以在 HIVE 中创建、删除和操作表。 API 可以是 Spark-SQL 或 HIVE QL。 如果我们创建一个表/删除一个表,如果我们登录到 HIVE 并检查(例如通过 HIVE 直线或 HIVE CLI),它将清晰可见。换句话说,通过 Spark 所做的更改可以在 HIVE 表中看到。

我的理解是 Spark 没有像 HIVE 那样自己的元存储设置。 Spark 仅利用 HIVE 设置,并且 SQL 执行仅通过 Spark SQL API 发生。

我的理解正确吗?

然后我对 bin/spark-sql.sh 的使用有点困惑(它也存在于 Spark 安装中)。文档说通过这个 SQL shell,我们可以像上面那样创建表(通过 Thrift Server/Beeline)。现在我的问题是:那么spark是如何维护元数据信息的?

或者像第一种方法一样,我们可以让spark-sql CLI与HIVE通信(具体来说:HIVE的hiveserver2)? 如果是,我们该怎么做?

提前致谢!

AAAGIS 回答:HIVE 上的 Spark-SQL 插件

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/8138.html

大家都在问