To jest poniżej tabeli HiveExplode tablicy Struct w Ulu
CREATE EXTERNAL TABLE IF NOT EXISTS SampleTable
(
USER_ID BIGINT,
NEW_ITEM ARRAY<STRUCT<PRODUCT_ID: BIGINT,TIMESTAMPS:STRING>>
)
A to dane zawarte w powyższej Tabeli-
1015826235 [{"product_id":220003038067,"timestamps":"1340321132000"},{"product_id":300003861266,"timestamps":"1340271857000"}]
Czy jest jakiś sposób mogę uzyskać wyjście poniżej z HiveQL po eksplozji tablicy?
**USER_ID** | **PRODUCT_ID** | **TIMESTAMPS**
------------+------------------+----------------
1015826235 220003038067 1340321132000
1015826235 300003861266 1340271857000
Updated
Napisałem tę kwerendę, aby uzyskać wyjście w powyższej formie, ale to nie daje mi wynik w sposób chciałem.
SELECT myTable1.myCol1,myTable2.myCol2 FROM sampletable st LATERAL VIEW
explode(st.purchased_item.product_id) myTable1 AS myCol1 LATERAL VIEW
explode(st.purchased_item.timestamps) myTable2 AS myCol2;
Czy ktoś może mi pomóc, co złego robię? Wszelkie sugestie zostaną docenione.
Co powiesz na coś takiego? wybrać USER_ID, prod_and_ts.product_id jako product_id, prod_and_ts.timestamps znaczniki czasowe z SampleTable widok boczny eksplodować (NEW_ITEM) exploded_table jak prod_and_ts; –
@ Mark, Thanks Mark, Udało się, możesz to opublikować jako odpowiedź, abym mógł ją zaakceptować. Czy możesz również zajrzeć do tego pytania SO również. [http://stackoverflow.com/questions/11336950/joining-two-tables-in-hive-using-hiveqlhadoop](http://stackoverflow.com/questions/11336950/joining-two-tables-in-hive- using-hiveqlhadoop). Jak nikt nie odpowiedział jeszcze na to pytanie. To mi bardzo pomoże. Dziękuję za Twój czas. – ferhan
Cieszę się, że pomogło. Wysłano odpowiedź. Wkrótce przyjrzymy się drugiemu pytaniu! –