crunch-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jan Van Besien (JIRA)" <>
Subject [jira] [Commented] (CRUNCH-536) crunch jobs fail to use hbase api of secured hbase
Date Thu, 02 Jul 2015 17:44:05 GMT


Jan Van Besien commented on CRUNCH-536:

Of course, I agree that this solution is not super elegant.

I didn't know about CrunchControlledJob.Hook. If you agree that a callback/hook is the way
to go, I can also look into refactoring the existing Hook concept such that it becomes usable
for my usecase, without having to introduce another similar concept.

Without having gone through all the details, I think this could be along the lines of:
- give the Hook interface two methods: prepare(MRJob) and completed(MRJob)
- keep a list of hooks on the MRPipeline, with a constructor where you can pass in a list
of custom hooks (or a registerHook(Hook) method)
- pass these hooks + a default hook which implements the behaviour of the existing PrepareHook
and CompletionHook to the CrunchControlledJob
- call prepare/completed accordingly

> crunch jobs fail to use hbase api of secured hbase
> --------------------------------------------------
>                 Key: CRUNCH-536
>                 URL:
>             Project: Crunch
>          Issue Type: Bug
>            Reporter: Jan Van Besien
>         Attachments: CRUNCH-536.patch
> When accessing a secured hbase from within a mapreduce job, it is required that the hbase
credentials are initialized on the job before it was submitted. This can be done with TableMapReduceUtil.initCredentials(job).
> In case the job is the consequence of using HBaseSourceTarget, crunch-hbase can take
care of it, see CRUNCH-535.
> However, it is also possible to write DoFn's that use the HBase api directly, without
using hbase input/output format. As an example use case, consider a job that bulk writes data
to hbase by writing HFiles on HDFS which are later to be loaded into HBase. Such a job doesn't
read or write from/to hbase using an input/output format directly, but it might still require
access to other tables in HBase, for example auxiliary tables with metadata specific to the
> We can of course not expect crunch-core to call initCredentials (which is HBase specific)
on all jobs, just in case, but it would be nice to be able to register a callback on the MRPipeline
which is applied to every job before it is submitted, to cover this use case.
> I will provide a patch which will help to explain what I am suggesting here.

This message was sent by Atlassian JIRA

View raw message