在使用Glue Crawler创建布尔列时,可以遵循以下代码示例来解决"Athena对使用Glue Crawler创建的布尔列没有价值"的问题:
import boto3
# 创建Glue Crawler客户端
glue = boto3.client('glue')
# 定义表的模式
schema = [
{
'Name': 'column1',
'Type': 'boolean'
},
{
'Name': 'column2',
'Type': 'boolean'
},
# 添加其他列...
]
# 创建表
response = glue.create_table(
DatabaseName='your_database_name',
TableInput={
'Name': 'your_table_name',
'StorageDescriptor': {
'Columns': schema,
# 添加其他存储描述符信息...
},
# 添加其他表输入信息...
}
)
-- 创建外部表
CREATE EXTERNAL TABLE your_table_name (
column1 BOOLEAN,
column2 BOOLEAN,
-- 添加其他列...
)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'
WITH SERDEPROPERTIES (
'serialization.format' = ',',
'field.delim' = ','
)
LOCATION 's3://your_bucket/your_table_name/';
-- 查询数据
SELECT * FROM your_table_name;
通过以上方法,您应该能够在Athena中正确解析和使用Glue Crawler创建的布尔列。
上一篇:Athena对另一个包含结构体的JSON数组中的JSON字符串数组进行拆分
下一篇:Athena返回GENERIC_INTERNAL_ERROR:Multipleentrieswithsamekey