來自相對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(儘管升級到兩者都未決)。