我正在使用 HDP 2.0 并运行一个简单的 Pig 脚本。
我已经注册了下面的罐子,然后我正在执行下面的代码(更新了架构) -
register /usr/lib/pig/piggybank.jar;
register /usr/lib/hive/lib/hive-common-0.11.0.2.0.5.0-67.jar;
register /usr/lib/hive/lib/hive-exec-0.11.0.2.0.5.0-67.jar;
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');
F = FILTER A BY (id == 85986249 );
STORE F INTO '/user/test/Pigout' USING PigStorage();
问题是,虽然 F 的值在 Hive 表中可用,但结果总是将 0 条记录写入输出。但它能够将所有记录加载到 A 中。
基本上过滤器功能不起作用。我的 Hive 表没有分区。我相信问题可能出在 HiveColumarLoade 中,但无法弄清楚它是什么。
如果您知道解决方案,请告诉我。我为此苦苦挣扎。
非常感谢您的帮助!!!