2016-05-24 2 views
0

У меня есть улей таблица над столом accumulo (потому что нам нужен уровень безопасности клеток):Hive разрыв строки проблема

CREATE TABLE testtable(rowid string, value string) 
STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' 
WITH SERDEPROPERTIES('accumulo.columns.mapping' = ':rowid,c:value') TBLPROPERTIES ('accumulo.table.name' = 'testtable'); 

Если у меня есть значение, которое содержит «/ п» он вступает в конфликт с улья линии по умолчанию которое также «/ n».

, например:

accumulo вставки: insert 1 c value line\x0Abreak

улей выберите: select rowid, value, row_number() over (order by null) as rank from testtable;

вы получите обратно две строки вместо одной.

| rowid | value | rank | 
+---------+--------+-------+ 
| 2  | line | NULL | 
| break | 1  | NULL | 

Есть ли какие-либо идеи, как я могу избежать этого? Спасибо вам за помощь!

+0

Возможно, вы обнаружили ошибку в AccumuloStorageHandler для HIVE. Вы должны подать отчет об ошибке здесь: https://issues.apache.org/jira/browse/HIVE – Christopher

ответ

0

Это кажется очень неожиданным (как автор AccumuloStorageHandler), но, может быть, я просто не знаю что-то, что пытается улей?

Я бы опубликовал вопрос JIRA для Hive over at https://issues.apache.org/jira/secure/CreateIssue!default.jspa. Не стесняйтесь упоминать меня, и я могу попытаться помочь в написании теста и разобраться в нем.

+0

Благодарим вас за ответ. Я думаю, что это проблема со стороны улья, и я нашел волшебное свойство, которому помогло: hive.query.result.fileformat (SequenceFile) –

+0

Рад, что вы его работали. – elserj

Смежные вопросы