如何为猪脚本自定义 HbaseStorage?实际上,我想在将数据加载到猪脚本之前对数据执行一些业务逻辑。它类似于 HbaseStorage 之上的自定义存储。
例如,我的行键具有这样的 A_B_C 结构。目前,我在我的猪脚本中传递 HbaseStorage 中的 A_B_C 键,但我想在将输入数据提供给实际猪脚本之前,针对 A_B_C_D 等键执行一些逻辑,如过滤等。这怎么可能
如何为猪脚本自定义 HbaseStorage?实际上,我想在将数据加载到猪脚本之前对数据执行一些业务逻辑。它类似于 HbaseStorage 之上的自定义存储。
例如,我的行键具有这样的 A_B_C 结构。目前,我在我的猪脚本中传递 HbaseStorage 中的 A_B_C 键,但我想在将输入数据提供给实际猪脚本之前,针对 A_B_C_D 等键执行一些逻辑,如过滤等。这怎么可能
我发现 HbaseStorage 真的很痛苦,所以我编写了常规的 Java MR 作业来查询 HBase 并创建自定义序列文件,然后我通过一个简单的自定义加载器从 Pig 中使用这些文件。我发现这节省了大量时间,因为序列文件可以在一天中多次重复使用以获得快速结果,而不是为每个 Pig 脚本扫描 Hbase 中的所有内容。
您可能最终不得不查看 HBaseStorage java 类并在此基础上实现您自己的类。根据 HBaseStorage 和相关类的编写方式,这可能从简单(只需扩展 HBaseStorage 本身并在必要时覆盖)到真正令人头疼的问题。
然后,您必须确保包含您的代码的 .jar 位于 pig 类路径中。