来自相对Hadoop/Hive新手的问题:如何将Microsoft Word(二进制)文档的内容作为参数传递给Hive函数?Microsoft Word二进制文件如何存储在Hive中?
我的目标是能够将一个二进制文件(在我的特殊用例中是一个Microsoft Word文档)的完整内容作为二进制参数提供给UDTF。我最初的方法是将文件的内容啜到一个临时表中,然后将其提供给UDTF在查询以后,这是我如何试图建立一个临时表:
create table worddoc(content BINARY);
load data inpath '/path/to/wordfile' into table worddoc;
遗憾的是,似乎有成为Word文档中的换行符(或者像换行符那样行事的东西),导致登台表有许多行而不是单个全面的blob,后者是我所希望的。有没有办法确保摄取不会爆炸成多行?我在这里看到过类似的关于其他二进制数据的问题,比如图像文件,所以我猜测它是让我绊倒的换行符。
失败所有,有没有办法跳过在中间Hive表中存储文件的内容,只是在调用时直接提供内容到UDTF?在我通过Hive的内置函数进行搜索时,没有什么明显的跳出来,但也许我错过了一些东西。
从版本角度看,环境是Hive 0.13.1和Hadoop 1.2.1(尽管升级到两者都未决)。