Python HashCode 分库分表逻辑

原创 2017年08月31日 23:14:19
def longToInt(value):
        assert isinstance(value, (int, long))
        return int(value & sys.maxint)


#4294967295             int unsigned
#18446744073709551615   bigint unsigned
def int_overflow(val):
    maxint = 4294967295
    if not -maxint-1 <= val <= maxint:
        val = (val + (maxint + 1)) % (2 * (maxint + 1)) - maxint - 1
    return val


# get the database no, table no
def get_db_no(val):
        no=abs(int_overflow(longToInt(val ^ (val >> 32)))) % 64
        if no < 10:
                no='0'+str(no)
        else:
                no=str(no)
        return no

def get_table_no(val):
        no= abs(int_overflow(longToInt(val ^ (val >> 32)))) % 63
        #no=str(no)
        return no
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Python计算hash值——hashlib模块

#环境是Python3.4 hashlib module - A common interface to many hash functions. Hash objects have...

Oracle数据库-where, group by, having, order by语句的执行顺序

select xxx_name, count(*) as counter from table_y where where_condition group by xxx_name having hav...

利用Python通过频谱分析和KNN完成iphone拨号的语音识别

利用Python,通过对波形文件的有效区域提取及频谱分析,利用KNN算法完成一个iphone拨号的语音识别。

漫谈数据仓库之拉链表(原理、设计以及在Hive中的实现)

0x00 前言 本文将会谈一谈在数据仓库中拉链表相关的内容,包括它的原理、设计、以及在我们大数据场景下的实现方式。 全文由下面几个部分组成: 先分享一下拉链表的用途、什么是拉链表。通...

数据挖掘(二)用python实现数据探索:汇总统计和可视化

数据挖掘的第一步数据探索,包括汇总统计和可视化,介绍了相关概念,并结合鸢尾花数据展示了如何用Python进行汇总统计量的计算以及常用的可视化来帮助我们分析数据的性质。

Apache Flume 如何解析消息中的事件时间

数据开发工作中,从上游消息队列抽取数据是一项常规的 ETL 流程。在基于 Hadoop 构建的数据仓库体系中,我们通常会使用 Flume 将事件日志从 Kafka 抽取到 HDFS,然后针对其开发 M...

史上最简单的 MySQL 教程(三十三)「视图(上)」

视图视图:view,是一种有结构(有行有列),但没有结果(结构中不真实存放数据)的虚拟表,虚拟表的结构来源不是自己定义的,而是从对应的基表(视图的数据来源)中产生的。创建视图首先,给出创建视图的基本语...

MySQL存储引擎--MyISAM与InnoDB区别

MyISAM 和InnoDB 讲解   InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应用而定。基本的差别为:MyISAM类型不支持事务处理等高级...

Python 编写自动化工具

引言:在开发过程中,我们经常需要编写一些自动化的工具,例如: Windows 下的 BATCH (批处理) Linux 下的 Shell 等 但是假如我们要做跨平台的开发,根据每个平台去开发一套功能...

MyISAM和InnoDB索引实现对比

在数据库开发中,了解不同存储引擎的索引实现方式对于正确使用和优化索引都非常有帮助。例如,知道了InnoDB的索引实现后,就很容易明白为什么不建议使用过长的字段作为主键,因为所有辅助索引都引用主索引,过...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)