gpt4 book ai didi

hive - 为 Presto 和 AWS S3 设置独立的 Hive Metastore 服务

转载 作者:行者123 更新时间:2023-12-04 10:34:21 34 4
gpt4 key购买 nike

我在将 S3 服务用作数据湖的环境中工作,而不是 AWS Athena。我正在尝试设置 Presto 以便能够查询 S3 中的数据,我知道我需要通过 Hive Metastore 服务将数据结构定义为 Hive 表。我在 Docker 中部署每个组件,所以我希望容器的大小尽可能小。我需要来自 Hive 的哪些组件才能运行 Metastore 服务?我实际上并不关心运行 Hive,只关心 Metastore。我可以减少需要的东西,还是已经有一个预配置的包?我在网上找不到任何不包括下载所有 Hadoop 和 Hive 的内容。我正在尝试做的可能吗?

最佳答案

有一个解决方法,您不需要配置单元来运行 presto。但是,我还没有尝试过使用任何分布式文件系统(如 s3),但是代码表明它应该可以工作(至少在 HDFS 中是这样)。在我看来,这是值得一试的,因为您根本不需要任何新的 hive docker 镜像。

这个想法是使用内置 FileHiveMetastore .它既没有记录在案 也不建议在生产中使用 但你可以玩它。模式信息存储在文件系统中的数据旁边。显然,它有利有弊。我不知道您的用例的详细信息,所以我不知道它是否符合您的需求。

配置:

connector.name=hive-hadoop2
hive.metastore=file
hive.metastore.catalog.dir=file:///tmp/hive_catalog
hive.metastore.user=cox

演示:
presto:tiny> create schema hive.default;
CREATE SCHEMA
presto:tiny> use hive.default;
USE
presto:default> create table t (t bigint);
CREATE TABLE
presto:default> show tables;
Table
-------
t
(1 row)

Query 20180223_202609_00009_iuchi, FINISHED, 1 node
Splits: 18 total, 18 done (100.00%)
0:00 [1 rows, 18B] [11 rows/s, 201B/s]

presto:default> insert into t (values 1);
INSERT: 1 row

Query 20180223_202616_00010_iuchi, FINISHED, 1 node
Splits: 51 total, 51 done (100.00%)
0:00 [0 rows, 0B] [0 rows/s, 0B/s]

presto:default> select * from t;
t
---
1
(1 row)

在上述之后,我能够在我的机器上找到以下内容:
/tmp/hive_catalog/
/tmp/hive_catalog/default
/tmp/hive_catalog/default/t
/tmp/hive_catalog/default/t/.prestoPermissions
/tmp/hive_catalog/default/t/.prestoPermissions/user_cox
/tmp/hive_catalog/default/t/.prestoPermissions/.user_cox.crc
/tmp/hive_catalog/default/t/.20180223_202616_00010_iuchi_79dee041-58a3-45ce-b86c-9f14e6260278.crc
/tmp/hive_catalog/default/t/.prestoSchema
/tmp/hive_catalog/default/t/20180223_202616_00010_iuchi_79dee041-58a3-45ce-b86c-9f14e6260278
/tmp/hive_catalog/default/t/..prestoSchema.crc
/tmp/hive_catalog/default/.prestoSchema
/tmp/hive_catalog/default/..prestoSchema.crc

关于hive - 为 Presto 和 AWS S3 设置独立的 Hive Metastore 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48932907/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com