我工作的环境中,我有一个s3服务被用作数据湖,但不是aws雅典娜。我正在尝试设置presto以便能够查询s3中的数据,并且我知道我需要通过hivemetastore服务将数据结构定义为hive表。我正在docker中部署每个组件,所以我希望容器的大小尽可能小。我需要配置单元中的哪些组件才能运行metastore服务?我其实并不关心运行Hive,只是元商店。我可以删减所需的内容吗,或者已经有一个预先配置的包了吗?我在网上找不到任何不包括下载所有hadoop和hive的东西。我想做的事可能吗?
我工作的环境中,我有一个s3服务被用作数据湖,但不是aws雅典娜。我正在尝试设置presto以便能够查询s3中的数据,并且我知道我需要通过hivemetastore服务将数据结构定义为hive表。我正在docker中部署每个组件,所以我希望容器的大小尽可能小。我需要配置单元中的哪些组件才能运行metastore服务?我其实并不关心运行Hive,只是元商店。我可以删减所需的内容吗,或者已经有一个预先配置的包了吗?我在网上找不到任何不包括下载所有hadoop和hive的东西。我想做的事可能吗?
4条答案
按热度按时间au9on6nz1#
现在可以单独使用了
/hive-standalone-metastore-3.0.0/
在apache hive发行版中。从hive3.0开始,metastore作为一个单独的包发布,可以在没有hive其余部分的情况下运行。这称为独立模式。
默认情况下,metastore配置为与hive一起使用,因此在此配置中必须更改一些配置参数。
链接到文档
ckocjqey2#
我能够使用prestosqlamdhms3.0与awss3集成。如果有帮助的话,我写了一篇文章。https://www.linkedin.com/pulse/presto-sql-s3-abhishek-gupta
uttx8gqw3#
有一个解决方法,您不需要配置单元来运行presto。不过,我还没有在任何像s3这样的分布式文件系统上尝试过,但代码建议它应该可以工作(至少在hdfs上是这样)。在我看来,这是值得一试的,因为你不需要任何新的码头形象Hive。
其想法是使用内置的filehivemetastore。它既没有记录,也不建议用于生产,但你可以发挥它。模式信息存储在文件系统中的数据旁边。显然,它有其利弊。我不知道你的用例的细节,所以我不知道它是否适合你的需要。
配置:
演示:
完成上述操作后,我在我的机器上找到了以下内容:
wwtsj6pe4#
仅仅为metastore设置hive看起来确实很麻烦。你考虑过用aws胶水数据目录吗?这样你就不用管理任何事情了。您可以在这里找到详细信息:https://docs.aws.amazon.com/emr/latest/releaseguide/emr-presto-glue.html