amazon-web-services - AWS Glue Catalog 无法检测 parquet 文件,而是将根路径创建为单个表
问题描述
我有一个以镶木地板格式存储在 AWS S3 中的 500 多个表的列表。结构如下:
aws-bucket/
└── parquet/
└── table1/t1.parquet
└── table2/t2.parquet
└── table3/t3.parquet
└── table4/t4.parquet
└── table5/t5.parquet
└── table6/t6.parquet
└── table7/t7.parquet
└── table8/t8.parquet
当我在“s3://aws-bucket/parquet/”上运行 Glue Crawler 并尝试创建 Athena DB 时,它只创建一个名为 parquet 的表,而不是创建所有 500 多个表。我没有尝试对爬虫参数进行任何自定义。
请帮忙。
解决方案
S3 数据的分组行为(可选)
为每个 S3 路径创建一个架构
默认情况下,当爬虫为存储在 S3 中的数据定义表时,它会同时考虑数据兼容性和架构相似性。选中此复选框可将兼容模式分组到提供的包含路径下所有 S3 对象的单个表定义中。仍将考虑其他标准来确定适当的分组。
在胶水爬虫控制台中选中此选项。它将创建 500 多个表
推荐阅读
- mongodb - UpdateOne 不适用于 mongoDB 中的对象数组
- node.js - Axios GET 请求无法在 react 上使用代理
- c# - 在 DataGrid 的视图中添加一个空白行
- python-3.x - 在 tkinter 中使用 Text(master, tabs()) 或替换时有没有办法显示领导者(例如点)
- javascript - 承诺回调函数会产生异步行为和意外结果
- java - Firebase 删除值
- r - R中用于确定赛马获胜者的条件/多项logit模型
- c++ - 在 boost::asio::streambuf 中输入带空格的行
- android - 通过构造函数将对象传递给多个片段是一种不好的做法吗?
- python - 如何从数据框中调用函数的位置参数?