AWS Glue 从 json 文件更改架构
AWS Glue change schema from json file
我想根据 JSON 文件更改 AWS Glue table 架构。
JSON 的格式为 {"column_name0":"data_type0","column_name1":"data_type1"}
。
我怎样才能做到这一点?我读过可以使用 JSON classifier 但我不知道如何使用。我已经尝试将我的 JSON 文件添加到存储爬虫创建 table 的文件的 S3 文件夹中,但它会从 JSON 文件创建另一个 table。
这样做似乎是一个奇怪的选择,您是否有特定的场景需要您手动创建模式?使用带有 from_catalog, or a from_options directly on a source will generally infer the schema quite well. If there are limited columns you want to keep, just select those columns from your frame and discard the rest. If you have specific needs to transform (e.g. cast) the data types, use ResolveChoice.
的爬虫
话虽这么说,但有几个选项可供您选择:
- 如果您通过 CDK 进行部署,您可以为 glue table within a glue DB via your CDK code, in the columns option 指定模式(您可以从您的文件中以编程方式创建)
- 如果您通过 CLI 进行部署,您可以创建一个简单的脚本(例如在 powershell 或 bash 中),根据您的 JSON 为 CLI 创建格式正确的 table 输入文件,并调用 create table command
注意:我不希望 JSON 分类器在这里适合您。您可以使用 custom classifier,但这将只允许您指定要使用的列(通过 JSONPath),并且会推断出类型。每次您还想更改架构时,您都需要编辑该自定义分类器。
我想根据 JSON 文件更改 AWS Glue table 架构。
JSON 的格式为 {"column_name0":"data_type0","column_name1":"data_type1"}
。
我怎样才能做到这一点?我读过可以使用 JSON classifier 但我不知道如何使用。我已经尝试将我的 JSON 文件添加到存储爬虫创建 table 的文件的 S3 文件夹中,但它会从 JSON 文件创建另一个 table。
这样做似乎是一个奇怪的选择,您是否有特定的场景需要您手动创建模式?使用带有 from_catalog, or a from_options directly on a source will generally infer the schema quite well. If there are limited columns you want to keep, just select those columns from your frame and discard the rest. If you have specific needs to transform (e.g. cast) the data types, use ResolveChoice.
的爬虫话虽这么说,但有几个选项可供您选择:
- 如果您通过 CDK 进行部署,您可以为 glue table within a glue DB via your CDK code, in the columns option 指定模式(您可以从您的文件中以编程方式创建)
- 如果您通过 CLI 进行部署,您可以创建一个简单的脚本(例如在 powershell 或 bash 中),根据您的 JSON 为 CLI 创建格式正确的 table 输入文件,并调用 create table command
注意:我不希望 JSON 分类器在这里适合您。您可以使用 custom classifier,但这将只允许您指定要使用的列(通过 JSONPath),并且会推断出类型。每次您还想更改架构时,您都需要编辑该自定义分类器。