0

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

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

4

1 回答 1

2

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

Spark SQL 还支持读取和写入存储在 Apache Hive 中的数据。但是,由于 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-site.xml 中的 hive.metastore.warehouse.dir 属性自 Spark 2.0.0 以来已弃用。相反,使用 spark.sql.warehouse.dir 指定仓库中数据库的默认位置。

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

于 2019-07-21T19:53:04.537 回答