Ändern von Feldnamen in Arrays mit CAST
Verwenden Sie zum Ändern des Feldnamens in einem Array, das ROW-Werte enthält, eine CAST-Anweisung für die ROW-Deklaration:
WITH dataset AS ( SELECT CAST( ROW('Bob', 38) AS ROW(name VARCHAR, age INTEGER) ) AS users ) SELECT * FROM dataset
Diese Abfrage gibt Folgendes zurück:
+--------------------+
| users |
+--------------------+
| {NAME=Bob, AGE=38} |
+--------------------+Anmerkung
Im obigen Beispiel deklarieren Sie name als VARCHAR, da dies der Datentyp in Presto ist. Wenn Sie dieses STRUCT innerhalb einer CREATE TABLE-Anweisung deklarieren, verwenden Sie den Datentyp String, da Hive diesen Datentyp als String definiert.