- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我是 Hcatlog (HCAT) 的新手,我们想知道我们在哪些用例/场景中使用 HCAT,使用 HCAT 的好处,是否可以从 HCatlog 中获得任何性能改进。任何人都可以提供有关何时使用 Hcatlog 的信息
最佳答案
Apache HCatalog 是 Hadoop 的表和存储管理层,它使使用不同数据处理工具(Apache Pig、Apache Map/Reduce 和 Apache Hive)的用户能够更轻松地在网格上读取和写入数据。
HCatalog 在存储在 HDFS 集群上的数据上创建一个表抽象层。此表抽象层以熟悉的关系格式呈现数据,并使使用熟悉的查询语言概念读取和写入数据变得更加容易。
HCatalog 数据结构是使用 Hive 的数据定义语言 (DDL) 定义的,Hive 元存储存储 HCatalog 数据结构。使用命令行界面 (CLI),用户可以创建、更改和删除表。表被组织到数据库中,或者如果没有为表定义则放置在默认数据库中。创建表后,您可以使用 Show Table 和 Describe Table 等命令浏览表的元数据。HCatalog 命令与 Hive 的 DDL 命令相同。
HCatalog 确保用户无需担心他们的数据存储在何处或以何种格式存储。 HCatalog 在表格 View 中显示来自 RCFile 格式、文本文件或序列文件的数据。它还提供 REST API,以便外部系统可以访问这些表的元数据。
HCatalog 向其他 Map/Reduce 工具开放 hive 元数据。每个 Map/Reduce 工具都有自己关于 HDFS 数据的概念(例如 Pig 将 HDFS 数据视为文件集,Hive 将其视为表)支持 HCatalog 的 Map/Reduce 工具不需要关心数据存储在哪里,在哪格式和存储位置。
这使我们能够使用正确的工具来完成正确的工作。例如,我们可以使用 HCatalog 将数据加载到 Hadoop 中,使用 Pig 对数据执行一些 ETL,然后使用 Hive 聚合数据。处理后,您可以使用 Sqoop 将数据发送到位于 SQL Server 中的数据仓库。您甚至可以使用 Oozie 自动执行该过程。
工作原理:
引用资料:
http://hortonworks.com/hadoop/hcatalog/
您问题的答案:
正如我之前所述,HCatalog 为 hadoop 工具提供了共享模式和数据类型,它简化了您在数据处理过程中的工作。如果您使用 HCatalog 创建了一个表,您可以直接通过 pig 或 Map/Reduce 访问该 hive 表(您不能简单地通过 pig 或 Map Reduce 访问一个 hive 表)。您不需要为每个工具创建模式。
如果您正在处理可从多个系统使用的共享数据用户(一些团队使用 Hive,一些团队使用 Pig,一些团队使用 Map/Reduce)然后 HCatalog 将很有用,因为他们只需要表来访问数据进行处理。
它不是任何工具的替代品它是一种提供对许多工具的单一访问的工具。
性能取决于您的 hadoop 集群。您应该在 Hadoop 集群中对主要性能进行一些性能基准测试。
关于hadoop - 何时使用 Hcatalog 以及它的好处是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30550959/
运行某些作业时,出现以下异常: java.io.FileNotFoundException: File file:/usr/lib/hive-hcatalog/share/hcatalog/hive-
谁能告诉我,HCatalog 在使用前需要安装吗?或者它可以用作 jar 文件? 我在 VM 上运行了 Cloudera,我可以毫无问题地将 HCatalog 用于我的 MR 作业、Pig、Hive。
我正在尝试从 HCatalog 加载表,对数据进行一些练习并将其存储到另一个表中。 源表:stage.iboa_event_definitions inno_description string
我有一个创建表脚本,其中表名将在运行时确定。如何将值传递给sql脚本? 我正在尝试这样的事情 hcat -e "create table ${D:TAB_NAME} (name string)" -D
我是 Hcatlog (HCAT) 的新手,我们想知道我们在哪些用例/场景中使用 HCAT,使用 HCAT 的好处,是否可以从 HCatlog 中获得任何性能改进。任何人都可以提供有关何时使用 Hca
我在执行 MapReduce 程序时遇到以下错误。我已将所有 jar 放在 hadoop/lib 目录中,并且还在 -libjars 中提到了这些 jar。 这是我正在执行的命令: $HADOOP_H
我觉得使用 Pig 加载 HCatalog 很舒服,并且想知道是否可以使用 Spark 代替 Pig。不幸的是,我对 Spark 还很陌生…… 你能提供任何关于如何开始的 Material 吗?是否有
A = LOAD 'eventnew.txt' USING HCatalogLoader(); 2015-07-08 19:56:34,875 [main] ERROR org.apache.pig.
谁能解释一下,HCatalog 和 HBase 之间的关系是什么? 我找到了这些定义: Apache HCatalog HCatalog 是一个元数据抽象层,用于在不使用底层文件名或格式的情况下引用数
我正在尝试在 HDInsight 群集上启用 HCatalog 通知,以便跟踪元数据更改。 我的两个头节点上都有一个 ActiveMQ 代理。它正在工作,因为我已经能够订阅它并接收我发送给自己的通知。
有没有办法使用WebHcat提交Impala查询?据我了解,Impala 使用与 Hive 相同的元存储,并且 HCatalog 提供了对此元存储的统一访问。 最佳答案 遗憾的是,Impala 查询提
我在网络上看到一些关于 Hive 是否使用 HCatalog 访问 Metastore 的相互矛盾的帖子,我希望有人能帮我解决这个问题? Hive 是否使用实际的 HCatalog api 来访问 M
我编写了简单的 pig 脚本来从配置单元表中读取数据。 A = LOAD 'default.movie' USING org.apache.hive.hcatalog.pig.HCatLoader()
有没有办法在 hive 或 Hcatalog 中更改数据库的表? 例如,我有一张 table foo在数据库中 default ,我想把这张表放到数据库bar .我试试这个,但它不起作用: ALTER
我正在尝试使用 pig 中的 Hcatalog 加载我的配置单元表,为此我编写了下面的代码,但出现错误。我正在使用 pig -useHCatalog 打开我的 pig 壳 代码: A = LOAD '
有没有办法使用 sqoop 进行增量导出?我正在为 sqoop 使用 Hcatalog 集成。我尝试使用用于增量导入的 --last-value、--check-column 选项,但 sqoop 给
使用 Ambari 2.2.2.0 安装 HDP-2.4.2.0-258 我必须导入几个 SQL Server 模式,这些模式应该可以通过 Hive、Pig、MR 和任何第三方(将来)访问。我决定导入
我正在尝试编写计算 Hive 表(Hadoop 2.2.0.2.0.6.0-101)中字段值分布的 map-reduce 作业。例如: 输入 Hive 表“ATable”: +------+-----
在 Hadoop 2.4.0 中,执行以下代码示例时出现以下错误。我认为,有不匹配的hadoop版本。你在审查代码吗?以及如何修复此代码? 我正在尝试编写复制 Hcatalog 表的 map-redu
当我按照关于 hadoop ( http://hortonworks.com/hadoop-tutorial/hello-world-an-introduction-to-hadoop-hcatalo
我是一名优秀的程序员,十分优秀!