关于 Hadoop 和 Hive 和 Presto 的问题
Posted
技术标签:
【中文标题】关于 Hadoop 和 Hive 和 Presto 的问题【英文标题】:Questions about Hadoop And Hive And Presto 【发布时间】:2014-02-15 02:57:31 【问题描述】:我正在考虑在我们的 Hadoop 集群上使用 Hive,然后使用 Presto 对存储在 Hadoop 中的数据进行一些分析,但我仍然对一些事情感到困惑:
文件存储在 Hadoop(某种文件管理器)中 Hive 需要表来存储来自 Hadoop 的数据(数据管理器) Hadoop 和 Hive 是分开存储它们的数据,还是 Hive 只使用来自 Hadoop 的文件? (在硬盘空间等方面?) -> 那么,Hive 是从 Hadoop 中导入数据到表中并让 Hadoop 一个人呆着,或者我必须如何看到这一点? 可以在没有 Hive 的情况下直接在 Hadoop 上使用 Presto 吗?提前感谢您回答我的问题:)
【问题讨论】:
【参考方案1】:首先要做的是:文件存储在 Hadoop 分布式文件系统 (HDFS) 中。这就是你所说的数据管理器吗?
实际上,Hive 可以同时使用 - HDFS 中的“常规”文件或表,这些文件又是“常规”文件,附加元数据存储在特殊数据存储(称为仓库)中。
关于 Presto - 它内置了对 Hive 元存储的支持,但您也可以为任何数据源编写自己的连接器插件。
请阅读有关 Hive 连接器配置 here 和连接器插件 here 的更多信息。
【讨论】:
我只是希望能够查询 Hadoop 中的数据,所以我想我需要包含有关 Hadoop 中文件的元数据的 Hive 表? @darkownage 我认为您需要外部表。 “EXTERNAL 关键字允许您创建一个表并提供一个 LOCATION,以便 Hive 不会使用该表的默认位置。如果您已经生成了数据,这会派上用场。”CREATE EXTERNAL TABLE table1(id INT) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\054' STORED AS TEXTFILE LOCATION '<hdfs_location>';
source
谢谢,会去看看 :)以上是关于关于 Hadoop 和 Hive 和 Presto 的问题的主要内容,如果未能解决你的问题,请参考以下文章
环境搭建 Hadoop+Hive(orcfile格式)+Presto实现大数据存储查询一
是否可以在 ElasticSearch 中使用 presto 或 Hive (ElasticSearch-Hadoop) 的任何 ES 连接器进行 JOIN 操作?
presto查hive报错:end index must not be greater than size 问题分析和解决