Para alterar o nome de campo em uma matriz que contenha valores ROW
, você pode CAST
a declaração ROW
:
WITH dataset AS (
SELECT
CAST(
ROW('Bob', 38) AS ROW(name VARCHAR, age INTEGER)
) AS users
)
SELECT * FROM dataset
Essa consulta retorna:
+--------------------+
| users |
+--------------------+
| {NAME=Bob, AGE=38} |
+--------------------+
nota
No exemplo acima, você declara name
como um VARCHAR
, porque esse é o tipo no Presto. Se você declarar esse STRUCT
dentro de uma instrução CREATE TABLE
, use o tipo String
porque o Hive define esse tipo de dados como String
.