Свинья HBaseStorage - Как генерировать динамические имена столбцов и динамическое число классификаторов столбцов из DataBag?

А имеет отношения 1: М с Б.

A = LOAD ... AS (
    a_id:char
    ,...
);
B = LOAD ... AS (
    a_id:chararray
    ,b_id:chararray
    ,...
);
JOINED = JOIN A BY a_id, B BY a_id;
GROUPED = GROUP JOINED BY a::a_id;

Это создаст DataBag со следующей схемой:

{group: chararray, JOINED: {(A:a_id, ..., B::a_id, B::b_id, ...)}}

Например:

(1, {(1, ..., 1, 1, ...)})
(2, {(2, ..., 2, 2, ...), (2, ..., 2,3, ...), (2, ...,2,4, ...)})
(3, {(3, ..., 3, 5, ...)})

Для этих трех строк вот как будут выглядеть соответствующие результаты HBase:

rowkey = 1, A:a_id=1, ... B:b1|a_id=1, B:b1|b_id:=1
rowkey = 2, A:a_id=2, ... B:b2|a_id=2, B:b2|b_id=2, ..., B:b3|a_id=2, B:b3|b_id=3, ..., B:b4|a_id=2, B:b4|b_id=4, ...
rowkey = 3, A:a_id=3, ..., B:b5|a_id=3, B:b5|b_id = 5

Как я могу импортировать этот DataBag в HBase, используя вышеуказанную логику?

Для этого мне нужно сгенерировать динамические имена квалификаторов столбцов, число которых будет зависеть от количества подзаголовков в DataBag.

0 ответов

Другие вопросы по тегам