Apache Spark 的不同 Metastore/数据目录选项?

Posted

技术标签:

【中文标题】Apache Spark 的不同 Metastore/数据目录选项?【英文标题】:Different Metastore/Data Catalog options with Apache Spark? 【发布时间】:2019-07-21 18:13:23 【问题描述】:

我可以在 Apache Spark 中使用哪些元存储/数据目录选项?

在最简单的情况下,我可以使用 Hive Metastore - 它与 Hive、Spark 和 Presto 配合得很好。 我可以在这里使用任何其他数据目录选项吗?

【问题讨论】:

答案不够好? 【参考方案1】:

毫不掩饰地从https://spark.apache.org/docs/latest/sql-data-sources-hive-tables.html 找到的文档中:

Spark SQL 还支持读写存储在 Apache 中的数据 蜂巢。但是,由于 Hive 有大量的依赖项,这些 默认 Spark 发行版中不包含依赖项。如果 Hive 依赖可以在类路径中找到,Spark 会加载它们 自动地。请注意,这些 Hive 依赖项也必须存在 在所有工作节点上,因为它们需要访问 Hive 序列化和反序列化库 (SerDes) 访问存储在 Hive 中的数据。

Hive 的配置是通过放置你的 hive-site.xml 来完成的, core-site.xml(用于安全配置)和 hdfs-site.xml(用于 HDFS 配置)文件在 conf/.

使用 Hive 时,必须使用 Hive 实例化 SparkSession 支持,包括与持久 Hive 元存储的连接, 支持 Hive serdes 和 Hive 用户定义的函数。做的用户 没有现有的 Hive 部署仍然可以启用 Hive 支持。 当 hive-site.xml 未配置时,上下文自动 在当前目录创建 metastore_db 并创建一个目录 由 spark.sql.warehouse.dir 配置,默认为目录 Spark 应用程序所在的当前目录中的 spark-warehouse 开始了。请注意,hive.metastore.warehouse.dir 中的属性 自 Spark 2.0.0 起,hive-site.xml 已被弃用。相反,使用 spark.sql.warehouse.dir 指定数据库的默认位置 仓库。您可能需要向以下用户授予写入权限 启动 Spark 应用程序。

但是你的意思可能是别的吗?简单案例?

【讨论】:

以上是关于Apache Spark 的不同 Metastore/数据目录选项?的主要内容,如果未能解决你的问题,请参考以下文章

Apache Spark 的不同 Metastore/数据目录选项?

Apache Spark 如何支持不同语言的 API

Apache Spark:不同的不起作用?

使用 Scala 在 Apache Spark 中连接不同 RDD 的数据集

合并在Apache spark中具有不同列名的两个数据集

如何计算Apache Spark DataFrame中所有列的不同值的数量[重复]