Взрыв массива структур с использованием HiveQL
CREATE TABLE IF NOT EXISTS Table2
(
USER_ID BIGINT,
PURCHASED_ITEM ARRAY<STRUCT<PRODUCT_ID: BIGINT,TIMESTAMPS:STRING>>
) ROW FORMAT
DELIMITED FIELDS TERMINATED BY '-'
collection items terminated by ','
map keys terminated by ':'
LINES TERMINATED BY '\n'
STORED AS TEXTFILE
LOCATION '/user/rj/output2';
Ниже приведены данные в таблице 2
1345653-110909316904:1341894546,221065796761:1341887508
Я могу взорвать вышеупомянутые данные, используя этот запрос ниже, и он отлично работает для вышеуказанных данных
SELECT * FROM (select user_id, prod_and_ts.product_id as product_id,
prod_and_ts.timestamps as timestamps FROM table2 LATERAL VIEW
explode(purchased_item) exploded_table as prod_and_ts) prod_and_ts;
И я получу вывод, как это хорошо
1345653 110909316904 1341894546
1345653 221065796761 1341887508
Но в некоторых случаях у меня есть данные в приведенной ниже таблице, например, несколько временных отметок с добавлением знака фунта для одного и того же product_id-
1345653-110909316904:1341894546#1341885695,221065796761:1341887508#1341885453
И мне нужно вывод, как это для вышеуказанных данных, используя запрос HiveQL
1345653 110909316904 1341894546
1345653 110909316904 1341885695
1345653 221065796761 1341887508
1345653 221065796761 1341885453
Можно ли это как-то сделать?
Любые предложения будут оценены.
P.S Я задаю этот вопрос несколько дней назад, но в этом случае данные были другими, и теперь данные совершенно другие, и мне нужен аналогичный вывод.