由Azure表存储备份的高度可扩展表,具有改进的功能。

puppettable的Python项目详细描述


木偶

puppettable是一个高度可伸缩的远程托管数据存储,用于小样本(小于1MB)的大数据集。 通过使用Python的数据结构API接口,可以很容易地透明地处理数据。它允许使用Microsoft Azure表存储作为数据的后端。在

如何安装

它可以在官方PIP存储库中找到:

pipinstallpuppettable

基本用途

你需要在Microsoft Azure中创建一个存储帐户。Puppettable需要一个connection_string来连接到Azure表存储服务。在

^{pr2}$

一旦对象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阵列
  • 熊猫数据帧/系列
  • 词典
  • 数组/元组
  • 字符串/整数/浮点

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

推荐PyPI第三方库


热门话题
java Android首选项相同getPreference()值的不同数据   字符串如何在Java中连接两个列表中的单词   安卓 Java Socket编程:检测客户端和服务器是否连接   使用JTextField的java无法将值转换为int   在java中,如何在不通过超级构造函数设置的情况下将消息设置为自定义异常类   用于标识属性值的java正则表达式模式   Android中的java不可见谷歌地图   java正确取消启动ExecutorService的JavaFX任务   在非活动java类中使用安卓的融合位置提供程序,并在主活动类中获取经度和纬度   spring为什么我的大摇大摆不能用springboot在java中工作?   java JSF(2.2)ViewScope在Weblogic 12.2.1.2和JDK 8上使用Spring 4.3.7(在Mac OS和Docker Oracle Linux环境上)   java如何用一个按钮提高计时器速度   java如何检查字符是否是元音?   注册表引用了不存在的Java运行时环境安装或运行时已损坏错误   来自ResultSet java的mysql getDateTime   maven LanguageTool Java API是否具有“无用”依赖关系?   twitter api身份验证的java Trycatch问题   java在Apache Struts 1.1中是否可以显式白名单?   安卓致命异常:主java。lang.RuntimeException:被问及未知片段