0

想知道我们是否可以使用来自 Linux 机器的 Hive Metastore 服务 (Presto) 访问带有 MS SQL 作为元存储和 Azure 数据湖上的外部文件的 Spark 外部表。

我们正在尝试通过 Presto 访问在 ADLS 上具有镶木地板文件的 spark delta 表。下面是场景。我想知道是否有可能的方法来实现这一目标。我们只是作为 POC 这样做的,我们相信知道答案将使我们进入下一步。

我们的中央数据存储库是由许多管道创建的所有 spark Delta 表。数据以 Parquet 格式存储。MS SQL 是外部元存储。这些 spark 表中的数据被其他团队/应用程序使用,他们希望通过 Presto 访问这些数据。

我们了解到 Presto 使用 Hive 的 metastore 服务来访问 hive 表的详细信息。我们尝试从 Hive 访问表(考虑这是否有效 Presto 也有效)。但是我们发现不同文件系统存在问题。我们已经在一台 Linux 机器上设置了 Hadoop 和 Hive。版本为 3.1.2 和 3.1.1。Hive 服务正在连接到 SQL 元存储并显示几个基本命令的结果。但是,当访问存储在 ADLS 路径中镶木地板中的实际数据时,它会提示文件系统异常。我理解这个问题是许多文件系统(如(ADFS、HDFS、linux))的交互,但没有找到任何指导我们的博客。请帮忙。

Hive 显示数据库命令:

Hive-on-MR is deprecated in Hive 2 and may not be available in the future versions. Consider using a different execution engine (i.e. spark, tez) or using Hive 1.X releases.
hive> SHOW DATABASES;
OK
7nowrtpocqa
c360
default
digital

Hive 列表表:

hive> SHOW TABLES;
OK
amzn_order_details
amzn_order_items
amzn_product_details

从 Orders 表查询数据:

hive> select * from dlvry_orders limit 3;
OK
Failed with exception java.io.IOException:org.apache.hadoop.fs.UnsupportedFileSystemException: No FileSystem for scheme "dbfs"
Time taken: 3.37 seconds

如何让我的设置访问 Datalake 文件并引入数据?我相信我的元存储应该具有存储文件的 ADLS 的确切完整路径。如果是,我在 Linux 中的 Hive/Hadoop 将如何理解路径。如果它也可以识别路径,我应该在哪个配置文件中提供访问数据湖的凭据(在任何 .XML 中)不同的文件系统如何交互

请帮忙。感谢所有输入。

4

0 回答 0