在 Glue 表上创建 presto 视图导致数据类型无效的错误:整数

问题描述 投票:0回答:1

我在 Glue 目录 table_a 中有一个表,它有 2 列 -

专栏 数据类型
emp_id bigint
员工姓名 绳子
年龄 int

我正在尝试创建一个 presto 视图来查询 Athena 上的数据。

create or replace view view_a
as
select emp_id, age
from table_a

当我查询表时,出现以下错误:

HIVE_INVALID_METADATA: Glue table table_a column 'age' has invalid data type:integer

请告诉我我在这里做错了什么。

sql aws-glue amazon-athena
1个回答
0
投票

age
可能包含不能是整数的值。建议您运行这样的查询来查找 NULL 或非整数值。

SELECT emp_id, age,
CASE 
    WHEN age IS NULL THEN 'Null Value'
    WHEN CAST(age AS STRING) REGEXP '^[0-9]+$' THEN 'Integer'
    ELSE 'Non-Integer'
END as age_type
FROM table_a
WHERE age IS NULL OR CAST(age AS STRING) REGEXP '^[^0-9]+$'
© www.soinside.com 2019 - 2024. All rights reserved.