选择列作为结构

xeufq47z  于 2021-08-01  发布在  Java
关注(0)|答案(1)|浏览(266)

我做了大量的谷歌搜索,还没有找到答案。
我在athena工作,使用ctas查询将大型csv文件中的数据拉到parquet中,以实现更高效的查询。我希望能够将一些记录放入一个结构中,以便使用下标进行访问。我知道结构在parquet中是可能的,但是我不知道如何编写查询(或者它是否可能)。
我尝试了这两种方法:

select email as "record.email"

select email as "record[email]"

显然,这会创建一个列名,下标是字符串的一部分,而不是结构的成员。这在ansisql中可能吗?

mxg2im7a

mxg2im7a1#

aws雅典娜文档提供了以下示例

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

相关问题