由Azure表存储备份的高度可扩展表,具有改进的功能。
puppettable的Python项目详细描述
木偶
puppettable是一个高度可伸缩的远程托管数据存储,用于小样本(小于1MB)的大数据集。 通过使用Python的数据结构API接口,可以很容易地透明地处理数据。它允许使用Microsoft Azure表存储作为数据的后端。在
如何安装
它可以在官方PIP存储库中找到:
pipinstallpuppettable
基本用途
你需要在Microsoft Azure中创建一个存储帐户。Puppettable需要一个connection_string
来连接到Azure表存储服务。在
一旦对象tables
被实例化,它就可以被用作字典来创建或从服务中检索表。
表是在附加元素后立即创建的。它们提供了与Python数组相同的行为:
>>>tables>>>table=tables["newDataset"]>>>table.insert("foo")>>>table.insert("bar")>>>table.append_many(["foo2","bar2"])>>>print("The length of the table is:",len(table))Thelengthofthetableis4>>>print("The size of the table (in Bytes) is:",table.size())Thesizeofthetable(inBytes)is:14
每个表都跟踪其内部统计信息。长度和大小是动态计算的,大小是一个估计值。在
>>>table=tables["dataset4"]>>>tableTable:'dataset4';Partition:'default';Length:10565;Size:67.599,49KB
在表中管理数据与Python数组遵循相同的API:
>>>table=tables["newDataset"]>>>table[0]foo>>>table[0:2]['foo','bar']>>>table[-1]bar2>>>table[-2:]['foo2','bar2']>>>table[:]['foo','bar','foo2','bar2']>>>table[::2]['foo','foo2']>>>table[0]="new_foo">>>table[2:4]=["new_foo2","new_bar2"]>>>table[:]['new_foo','bar','new_foo2','new_bar2']
遵循Azure分发的概念,为了更好地分发数据,每个表可能都有不同的分区键。分区键充当表内的独立组:
>>>tablesAzure5Tables:["dataset1","dataset2","dataset3",...,"mnist"]>>>table=tables["dataset4"]>>>tableTable:'dataset4';Partition:'default';Length:10565;Size:67.599,49KB>>>table.set_partition("test")>>>tableTable:'dataset4';Partition:'test';Length:0;Size:0,0KB>>>table.set_partition()>>>tableTable:'dataset4';Partition:'default';Length:10565;Size:67.599,49KB
元素/表的删除遵循与Python中字典和数组相同的原则。但是请注意,表的长度可能保持不变,因为它是根据数据中检测到的最大索引计算的。 这可能会导致不连贯的统计数据,因为删除了所有以前的元素,但有一个元素位于表中的高位。 只有在删除表中最新的元素后,才能重新计算大小和长度。在
支持的类型
Puppettable本机支持以下类型:
- Numpy阵列
- 熊猫数据帧/系列
- 词典
- 数组/元组
- 字符串/整数/浮点
- 项目
标签: