跳转到主要内容

根据JSON Table Schema描述符生成SQL表,加载数据和提取数据。

项目描述

tableschema-sql-py

Travis Coveralls PyPi Github Gitter

根据Table Schema描述符生成和加载数据表。

功能

  • 实现tableschema.Storage接口
  • 提供索引和更新等附加功能

内容

入门

安装

该包使用语义版本控制。这意味着主版本可能包含破坏性更改。强烈建议在您的 setup/requirements 文件中指定 package 版本范围,例如 package>=1.0,<2.0

pip install tableschema-sql

文档

from datapackage import Package 
from tableschema import Table
from sqlalchemy import create_engine

# Create sqlalchemy engine
engine = create_engine('sqlite://')

# Save package to SQL
package = Package('datapackage.json')
package.save(storage='sql', engine=engine)

# Load package from SQL
package = Package(storage='sql', engine=engine)
package.resources

API参考

存储

Storage(self, engine, dbschema=None, prefix='', reflect_only=None, autoincrement=None)

SQL存储

该包实现了表存储接口(详见链接中的完整文档)

Storage

仅记录了额外的API

参数

  • engine (对象)sqlalchemy 引擎
  • dbschema (字符串):数据库模式名称
  • prefix (字符串):所有桶的前缀
  • reflect_only (可调用对象):一个布尔谓词,用于过滤反射时表名列表
  • autoincrement (字符串/字典):在开始处添加自增列。- 如果是字符串,则是一个自增列名称 - 如果是字典,则是一个自增映射,列名称按桶名称索引,例如,{'bucket1': 'id', 'bucket2': 'other_id}

storage.create

storage.create(self, bucket, descriptor, force=False, indexes_fields=None)

创建桶

参数

  • indexes_fields (字符串数组):包含字段名称的元组列表,或这样的列表列表

storage.write

storage.write(self, bucket, rows, keyed=False, as_generator=False, update_keys=None, buffer_size=1000, use_bloom_filter=True)

写入桶

参数

  • keyed (布尔值):接受键行
  • as_generator (布尔值):返回生成器以向客户端提供写入控制
  • update_keys (字符串数组):如果键值与现有行匹配,则更新而不是插入
  • buffer_size (整数=1000):尝试在单个批次中写入到数据库的最大行数
  • use_bloom_filter (布尔值=True):是否应使用布隆过滤器来优化数据库更新性能(以一些设置时间为代价)

贡献

该项目遵循Open Knowledge International 编码标准

开始推荐的途径是创建并激活项目虚拟环境。要将包和开发依赖项安装到活动环境中

$ make install

运行带有linting和覆盖率的测试

$ make test

变更日志

这里仅描述破坏性和最重要的更改。所有发布版本的完整变更日志和文档可以在格式良好的提交历史中找到。

v1.3

  • 实现了将约束加载到数据库中的功能

v1.2

  • 添加了配置缓冲区大小、使用布隆过滤器的选项 (#77)

v1.1

  • 添加了对autoincrement参数作为映射的支持
  • 修复了SQLite和MySQL的自增支持

v1.0

  • 初始驱动程序实现。

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

tableschema-sql-2.0.1.tar.gz (13.6 kB 查看哈希值)

上传时间

构建分布

tableschema_sql-2.0.1-py2.py3-none-any.whl (12.4 kB 查看哈希值)

上传时间 Python 2 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面