在Athena中,可以使用ANSI SQL来选择列作为结构体。下面是一个示例代码:
WITH data AS (
SELECT 'John' AS name, 25 AS age, 'Male' AS gender
UNION ALL
SELECT 'Alice', 30, 'Female'
UNION ALL
SELECT 'Bob', 35, 'Male'
)
SELECT
named_struct(
'name', name,
'age', age,
'gender', gender
) AS person
FROM data;
在上面的示例中,我们首先使用WITH
子句创建一个名为data
的临时表,其中包含了三个人的信息:姓名、年龄和性别。
然后,我们使用SELECT
语句选择了一个名为person
的结构体列。在named_struct
函数中,我们指定了结构体的字段名和对应的值,这里是姓名、年龄和性别。
最后,我们从data
表中选择了person
结构体列作为查询结果。
运行以上代码,将得到以下结果:
person
----------------------------
{ "name": "John", "age": 25, "gender": "Male" }
{ "name": "Alice", "age": 30, "gender": "Female" }
{ "name": "Bob", "age": 35, "gender": "Male" }
每一行的结果都是一个包含姓名、年龄和性别字段的结构体。