Hadoop HDP2.0中的配置单元柱状装入器

Hadoop HDP2.0中的配置单元柱状装入器,hadoop,apache-pig,hortonworks-data-platform,Hadoop,Apache Pig,Hortonworks Data Platform,我正在使用HDP2.0并运行一个简单的Pig脚本 我已经注册了下面的JAR,然后我正在执行下面的代码(更新了模式)- 问题是,尽管配置单元表中有F的值,但结果总是将0条记录写入输出。但它能够将所有记录加载到一个文件中 基本上,过滤器功能不起作用。我的蜂箱表没有分区。我相信问题可能出在HiveColumarLoade中,但无法找出它是什么 如果您知道解决方案,请告诉我。我为此苦苦挣扎 非常感谢你的帮助 基于HIVEColumnLoader,在筛选非分区值之前,似乎需要一个中间关系。假设id不是一个

我正在使用HDP2.0并运行一个简单的Pig脚本

我已经注册了下面的JAR,然后我正在执行下面的代码(更新了模式)-

问题是,尽管配置单元表中有F的值,但结果总是将0条记录写入输出。但它能够将所有记录加载到一个文件中

基本上,过滤器功能不起作用。我的蜂箱表没有分区。我相信问题可能出在HiveColumarLoade中,但无法找出它是什么

如果您知道解决方案,请告诉我。我为此苦苦挣扎

非常感谢你的帮助

基于HIVEColumnLoader,在筛选非分区值之前,似乎需要一个中间关系。假设id不是一个分区,那么这似乎是您的问题

试试这个:

A = LOAD '/apps/hive/warehouse/test.db/hivetables' USING        
       org.apache.pig.piggybank.storage.HiveColumnarLoader('id int, name string,age   
       int,create_dt string,timestamp string,accno int');

B = FOREACH GENERATE A.id, A.name, A.age, A.create_dt, A.timestamp, A.accno;

F = FILTER A BY (id == 85986249 );

       STORE F INTO '/user/test/Pigout' USING PigStorage();

文档似乎都说,为了处理实际值,您需要中间关系B。

您正在加载的表的完整模式是什么?请发布。嗨,我也发布了模式。谢谢
A = LOAD '/apps/hive/warehouse/test.db/hivetables' USING        
       org.apache.pig.piggybank.storage.HiveColumnarLoader('id int, name string,age   
       int,create_dt string,timestamp string,accno int');

B = FOREACH GENERATE A.id, A.name, A.age, A.create_dt, A.timestamp, A.accno;

F = FILTER A BY (id == 85986249 );

       STORE F INTO '/user/test/Pigout' USING PigStorage();