Explodieren Sie das Array von Struct in Hive

Dies ist die unten stehende Hive-Tabelle

CREATE EXTERNAL TABLE IF NOT EXISTS SampleTable
(
USER_ID BIGINT,
NEW_ITEM ARRAY<STRUCT<PRODUCT_ID: BIGINT,TIMESTAMPS:STRING>>
)

Und dies sind die Daten in der obigen Tabelle.

1015826235     [{"product_id":220003038067,"timestamps":"1340321132000"},{"product_id":300003861266,"timestamps":"1340271857000"}]

Gibt es eine Möglichkeit, die folgende Ausgabe von HiveQL zu erhalten, nachdem das Array aufgelöst wurde?

**USER_ID**  |  **PRODUCT_ID**  |   **TIMESTAMPS**
 ------------+------------------+----------------
1015826235      220003038067       1340321132000
1015826235      300003861266       1340271857000

Aktualisierte

Ich habe diese Abfrage geschrieben, um die Ausgabe im obigen Format zu erhalten, aber sie gibt mir nicht das gewünschte Ergebnis.

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;

Kann mir jemand helfen was ich falsch mache? Vorschläge werden geschätzt.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage