Hadoop 配置单元UDF直接写入字节

Hadoop 配置单元UDF直接写入字节,hadoop,hive,udf,Hadoop,Hive,Udf,我正在创建一些UDAF函数,希望最终将字节数组直接写入磁盘 我曾为我的人生设想过这样的事情 public BytesWritable terminate() throws HiveException { byte[] bitvalues = new byte[]{ (byte) 0x01, (byte) 0x02, (byte) 0x04, (byte)

我正在创建一些UDAF函数,希望最终将字节数组直接写入磁盘

我曾为我的人生设想过这样的事情

public BytesWritable terminate() throws HiveException {
        byte[] bitvalues = new byte[]{
                (byte) 0x01,
                (byte) 0x02,
                (byte) 0x04,
                (byte) 0x08
        };

        BytesWritable bw = new BytesWritable();

        bw.set(bitvalues, 0, bitvalues.length);
        return bw;
}
然后我想我可以在蜂箱里做这样的事情:

add jar myCustom.jar;
create temporary function foo as 'com.example.foo';

INSERT OVERWRITE local DIRECTORY 'foo-results'
SELECT foo(some_field) FROM some_table;
最终目标是通过我的
terminate
方法获得一个4字节长的文件,其中包含精确的字节文本

我认为问题在于,我的字节数组被包装在BytesWritable中,有人决定用base64对字节数组进行编码