使用阿姆斯特丹模式的工具。

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_datasetmeta_tablemeta_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>

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Android应用程序在后台   如何使用java减去日期。sql。时间戳   在Eclipse中使用Tomcat和Maven的java抛出错误   java Runnable jar什么都不做,资源不导出   并发Java内存模型:volatiles和读/写重新排序   使用Morphia在MongoDB中进行java批量升级。可能吗?   java将自己创建的sqlite数据库复制到安卓失败   在java中使用嵌套循环解决消除?   地图上多个标记的java实时动画   java如何在J2EE web应用程序中从服务层调用DAO方法   java我只想浏览文件,并将其作为电子邮件中的文件。我应如何附加:   猜猜我在think Java中的数字是57   可以在java流中的groupingBy中使用foreach吗?   我的Java程序编译时没有任何错误,但不会完全运行