我已经进行了广泛的Google搜索,但没有找到答案。
我正在雅典娜工作,并使用CTAS查询将数据从大型CSV文件提取到Parquet中,以实现更高效的查询。我希望能够将一些记录放入一个结构中,以便使用下标进行访问。我知道在Parquet中可以使用结构,但是我不知道如何编写查询(或者甚至可能)。
我已经尝试过这两种方法:
select email as "record.email"
和
select email as "record[email]"
显然,这将创建一个带有下标的列名称,该下标是字符串的一部分,而不是结构的成员。在ANSI SQL中甚至可能吗?
AWS Athena文档提供以下示例
WITH dataset AS (
SELECT
CAST(
ROW('Bob', 38) AS ROW(name VARCHAR, age INTEGER)
) AS users
)
SELECT * FROM dataset
-- Result
-- +--------------------+
-- | users |
-- +--------------------+
-- | {NAME=Bob, AGE=38} |
-- +--------------------+
因此,对于您的情况,您可以尝试做类似的事情
SELECT
CAST(ROW(email_column) AS ROW(email VARCHAR)) AS "record"
FROM database.table
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句