使用阿姆斯特丹模式的工具。
amsterdam-schema-tools的Python项目详细描述
阿姆斯特丹模式工具
使用阿姆斯特丹模式的库和工具集。在
安装包时使用:pip install amsterdam-schema-tools
目前,可以使用以下cli命令:
- 架构导入事件
- 架构导入ndjson
- 架构显示架构<;数据集id>
- 架构显示表名
- 架构自省数据库<;数据集id>;<;表名列表>
- 架构自省geojson<;dataset id>;*.geojson
- 架构验证
- 应用架构权限
这些工具需要DATABASE_URL
环境变量或带有DSN的命令行选项--db-url
。在
输出是根据阿姆斯特丹模式的json模式输出 正在处理的表的定义。在
从现有数据库表生成阿姆斯特丹模式
prefix参数控制是否在 模式,因为这是Django模型所必需的。在
例如,我们可以生成一个包模式。将DATABASE_URL
指向bag_v11
数据库,然后运行:
schema show tablenames | sort | awk '/^bag_/{print}' | xargs schema introspect db bag --prefix bag_ | jq
jq很好地格式化了它,可以将其重定向到正确的目录 直接在模式存储库中。在
在关系表中表示阿姆斯特丹模式信息
阿姆斯特丹模式表示为jsonschema。但是,为了让那些 更多的关系思维或工具集可以将阿姆斯特丹模式表达为 关系表。这些表是meta_dataset,meta_table和meta_field。在
可以将jsonschema转换为关系表结构,反之亦然。在
此命令从jsonschema格式的现有数据集中转换数据集:
^{pr2}$要从关系表转换回jsonschema,请执行以下操作:
schema show schema <id of dataset>
从现有GeoJSON文件生成阿姆斯特丹模式
可以使用以下命令检查和导入GeoJSON文件:
schema introspect geojson <dataset-id> *.geojson > schema.json
edit schema.json # fine-tune the table names
schema import geojson schema.json <table1> file1.geojson
schema import geojson schema.json <table2> file2.geojson
导入采空区事件
schematools库有一个模块,该模块将GOB事件读入 由阿姆斯特丹模式定义。该模块可用于从Kafka流中读取GOB事件。 也可以使用以下方法从具有行分离事件的批处理文件中读取GOB事件:
schema import events <path-to-dataset> <path-to-file-with-events>
- 项目
标签: