问题标签 [hcatalog]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
hadoop - 使用 HCatStorer() 写入 Hive 表时出错
我目前正在使用 HCatLoader() 从 S3 上的配置单元表中提取数据,并尝试使用 HCatStorer() 将数据写回 S3 上的配置单元表。我正在使用内置于 AWS EMR 中的默认 Hive 安装。
HCatLoader 工作正常,我可以在脚本中正确转储数据(下面的 DUMP B 工作正常)。
我还可以使用带有配置单元表分隔符的 PigStorage 将数据很好地写入 S3 存储桶,然后通过配置单元脚本添加分区 - 但我们需要利用 HCatalog 动态分区。
我收到的错误提示由于无法连接到提供的任何元存储 URI 而导致连接被拒绝。我的理解是 HcatLoader() 和 HCatStorer() 使用相同的 hive-site.xml 文件,但我只有在包含 HCatStorer() 时才会收到错误。
hive-site.xml 中的 Metastore URI 参数
这是来自工作跟踪器的日志:
非常感谢任何见解。这让我难过了好一阵子。我已经看到很多关于听起来相似的问题的旧 jira 票,但它们来自 ~2012。
apache-spark - 使用 Spark / Spark SQL / Java 连接到 HCatalog
如何使用 Spark / Spark SQL / Java 连接到 HCatalog 以获取存储在 Hive [Hive Metastore] 中的数据
我们需要为此使用 HiveContext() 吗?如何配置 Hcatalog?
hadoop - 使用 HCatalog 问题编写 Hive 动态分区
使用动态分区将数据插入 Hive 表时遇到问题。
我有一个包含一个普通列和一个分区列的现有表,我正在尝试将数据插入这些列。我的代码:
但我得到了例外:
我浏览了 hive 库的代码,看起来prepareWrite()
在主节点上调用的方法得到了错误的模式。它仅使用普通列加载架构(缺少分区列),之后,无法检索分区列的插入记录中的值(实际上在异常中说...number of partition values obtained[0]
...)。有同样的问题所以问题,但在我的情况下,我不能将列附加到模式,因为它被打包在prepareWrite()
方法中。
我正在使用 Cloudera 版本 5.3.2 的库(这意味着 Hive 版本 0.13.1)
我将不胜感激。谢谢。
hive - 使用 HCatWriter 从 Pig 存储时如何在 Avro 支持的 Hive 表上启用 Snappy 压缩
我有一个这样创建的 Hive 表:
我现在想通过 Pig 脚本将数据加载到此表中:
到目前为止一切都很好(数据存储到 Avro 文件中),但我希望使用 snappy 编解码器对其进行压缩。
我试图添加(除其他外)
到猪脚本,但它似乎没有任何区别。
如果我使用 Hive 查询将数据插入到表中,我可以在表的基础文件中看到它正在使用 snappy 压缩。
我有什么方法可以告诉 HCatWriter 告诉 Hive 使用 Snappy 压缩写入表?
谢谢你的帮助。
hadoop - Hadoop - 使用 PIG 加载 Hive 表
我想使用 Pig 加载 Hive 表。我认为我们可以做到这一点,HCatLoader
但我正在使用 xml 文件来加载 pig。为此,我必须使用XMLLoader
. 我可以使用两个选项在 Pig 中加载 XML 文件吗?
我正在使用我自己的 UDF 从 XML 文件中提取数据,一旦我们提取了所有数据,我必须将 Pig 数据加载到 Hive 表中。
我不能使用 HIVE 来提取 XML 数据,因为我收到的 XML 非常复杂,我编写了自己的 UDF 来解析 XML。任何建议或指示我们如何使用 PIG 数据加载 Hive 表。
我正在使用 AWS。
java - 使用 kerberos 连接到集群上的 HiveMetaStore
我有一个使用 hcatalog api 读取配置单元元数据的 java 应用程序。如果我需要使用 Kerberos 和 knox 从集群上的配置单元数据库中读取元数据,以下配置是否有效?
我将从远程 Windows 机器上运行 Java 程序。
如果集群上我的 hive-site.xml 包含以下属性
如何配置 HCatClient 以连接到 hive?
hadoop - Pig 脚本在 Tez 上抛出内存不足异常,但适用于 MapReduce
下面显示的 Pig(带有 Tez 执行引擎)脚本抛出内存不足异常,在 4 节点集群上有一个 15GB 的员工表。
当执行引擎更改为 MapReduce 时,它可以正常工作。
错误信息是,
与集群内存和存储相比,表大小太小。
Tez 中是否有需要特定配置的内存参数?
hadoop - WebHCAT 获取 Hive 表元数据时出错。命令因超时(10000 毫秒)而终止。请参阅 Templeton.exec.timeout 属性","exitcode":143
如果我在我的 cloudera 5.4.1 环境中发出这个 webhcat REST 调用
一切正常,我看到了 Person 表的元数据。
但是如果我将上面的 REST 调用更改为
然后我得到一个错误
我不知道为什么它只抱怨 foo_bar 表缺少日志目录,但成功返回了有关 Person 的元数据。
顺便说一句,我可以进入 hive 控制台并在 Person 和 foo_bar 上执行 select count(*) 查询。
编辑::
再次阅读错误消息后,似乎核心问题是
命令因超时(10000 毫秒)而终止。请参阅 Templeton.exec.timeout 属性","exitcode":143
但是cloudera manager不知道这个属性“templeton.exec.timeout”......我该怎么办......我不想手动编辑文件,因为集群中有很多节点。
编辑2::
我进入每个hadoop节点并做了
sudo vi /opt/cloudera/parcels/CDH-5.4.1-1.cdh5.4.1.p0.6/etc/hive-webhcat/conf.dist/webhcat-default.xml
我找到了超时值并将其增加到 1000000。我对每个都执行了此操作,然后使用 cloudera 管理器重新启动了 Hive 和 WebHCat 服务器。但我得到了完全相同的错误信息。
hive - Pig BigDecimal 到 Hive 十进制
我正在尝试将 Pig BigDecimal 转换为 Hive Decimal 类型,但值被设置为 null。这是示例代码:
猪脚本:
在上面的代码中,记录计数的总和值正确地出现在存储为“用户/测试”的 HDFS 文件中。但是使用 HcatStorer,所有记录的相同字段都填充为 NULL。使用此列定义 DECIMAL(16,0) 创建测试表。我正在使用 Hive 1.1.0。请建议如何解决此问题。
hadoop - 使用 serde 在 Hive-0.14 中分析简单的 JSON 文件
我正在尝试使用 jsonserde 对 json 文件执行配置单元命令,但我总是得到空值,而不是实际数据。我使用了“code.google.com/p/hive-json-serde/downloads/list”链接中提供的 serde。我尝试了多种方法,但所有尝试都没有成功。请有人可以帮助我了解要遵循的确切步骤和要使用的 serde,以便在 apache hive 最新版本(0.14)中处理 json 文件
BR,圣