我在 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
请告诉我我在这里做错了什么。
列
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]+$'