amazon-web-services - 在 Lambda 而不是 EC2 上为 AWS Glue 使用 ETL
问题描述
我有一个工作流程,我需要使用 ETL 函数才能读取 AWS Athena 中的 json 文件(存储在 S3 中),但是,由于 JSON 文件包含嵌套数组,Athena 拒绝继续查询。我知道我们可以在 EC2 机器上使用 Zeppelin 来运行 ETL,但我不想运行 EC2 机器,想知道是否可以使用 Lambda 代替?有没有人试过这个?
我正在使用的嵌套 json:
{
"version": "0.1.0",
"generated": "Wed, 1 May 2021 02:11:23",
"site": [
{
"name": "Alaska",
"host": "example.com",
"port": "443",
"ssl": "true",
"details": [
{
"name": "alaska",
"record": "0000100",
"type": "example",
"count": 11
"description": [
{
"meta": "meta",
"method": "GET",
"key": "abc"
},
]
}
}
]
}
例如,我需要的查询:如何查询所有类型及其计数?
这是我尝试查询时的错误
您的查询有以下错误:HIVE_PARTITION_SCHEMA_MISMATCH:表和分区架构不匹配。类型不兼容,不能强制。表 'sampledb.codebuildprojectname' 中的列 'site' 声明为类型 array<struct<...
解决方案
推荐阅读
- java - 创建一个可重用的类
- python - 用于将数据从 s3 同步到另一个 s3 存储桶的 python 脚本
- java - Spring Boot - 如何跟踪所有请求和响应异常并保存到数据库中?
- mongodb - 我无法使用 Groovy 在 mongoDB 上执行聚合操作
- gcloud - GCloud SDK 无法解析策略文件 (JSON)
- spring-data-jpa - 连接两个都具有复合主键的实体,我们需要使用 spring data jpa 使用主键的一部分进行连接
- java - 如何检查在 Gradle 构建过程中使用了哪些已安装的 JDK
- android - 如何创建类似于 instagram 的探索选项卡的选项卡视图(类别)
- c# - C# 和 nodejs 中的 AES 加密
- javascript - jQuery Datatables - 更改和加载 ajax 源后将函数绑定到复选框