You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Eugene Koifman (JIRA)" <ji...@apache.org> on 2015/11/18 00:04:11 UTC

[jira] [Commented] (HIVE-12443) Hive Streaming should expose encoding and serdes for testing

    [ https://issues.apache.org/jira/browse/HIVE-12443?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15009794#comment-15009794 ] 

Eugene Koifman commented on HIVE-12443:
---------------------------------------

if the idea is to intercept encode(), how does making the method public help?

Wouldn't you want to register some Callback object with RecordWriter which will callback(Object encoded) which will tell you what the writer is writing?

making encode() public seems like you'd have to call it 2 times, 1 to write and 1 for test framework.

Perhaps I'm not understanding the requirement

> Hive Streaming should expose encoding and serdes for testing
> ------------------------------------------------------------
>
>                 Key: HIVE-12443
>                 URL: https://issues.apache.org/jira/browse/HIVE-12443
>             Project: Hive
>          Issue Type: Improvement
>          Components: Testing Infrastructure, Transactions
>    Affects Versions: 2.0.0
>            Reporter: Alan Gates
>            Assignee: Alan Gates
>         Attachments: HIVE-12443.patch
>
>
> Currently how records are passed into the hive streaming RecordWriter are converted from the inbound format to Hive format is opaque.  The encoding and writing are done in a single call to RecordWriter.write().  This is problematic for test tools that want to intercept the record stream and write it to a benchmark in addition to Hive.
> All existing RecordWriters have an encode and getSerDe methods.  I propose to expose these by making them public in AbstractRecordWriter, and making AbstractRecordWriter a public class (it is currently package private).  This keeps the RecordWriter interface clean (stream writers will not need to directly call these methods) and avoids any backwards incompatible changes.  Having AbstractRecordWriter public is also desirable for anyone who wants to write their own RecordWriter.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)