Python通过Thrift插入Hbase实验

#python
from thrift import Thrift
from thrift.transport import
TSocket
from thrift.transport import TTransport
from thrift.protocol
import TBinaryProtocol

from hbase import Hbase
from hbase.ttypes import *

transport = TSocket.TSocket(‘192.168.137.101‘,9090)

transport = TTransport.TBufferedTransport(transport)

protocol = TBinaryProtocol.TBinaryProtocol(transport)

client = Hbase.Client(protocol)
transport.open()

mutations = [Mutation(column="tuser:b",value="1")]

#client.mutateRow(‘ttable0‘,‘rowkey1‘, mutations, None)

for l1 in range(10):
for l2 in range(10):
for
l3 in range(10):
for l4 in
range(10):
client.mutateRow(‘ttable0‘,‘%d‘%l1+‘%d‘%l2+‘%d‘%l3+‘%d‘%l4, mutations, None)

print ‘finished‘

4台centos虚拟机

2.2Ghz CPU × 1

1.5GB内存

共享单硬盘

插入1000条用时93秒,平均一秒插入107条

复制0.py为1.py, 2.py ……8.py

开启9个进程分别插入ttable0, ttable1, ttable2 ……ttable8

其它条件不变,总共用时约220秒,平均一秒插入409条

时间: 2024-11-01 16:54:05

Python通过Thrift插入Hbase实验的相关文章

hbase之python利用thrift操作hbase数据和shell操作

前沿: 以前都是用mongodb的,但是量大了,mongodb显得不那么靠谱,改成hbase撑起一个量级. HBase是Apache Hadoop的数据库,能够对大型数据提供随机.实时的读写访问.HBase的目标是存储并处理大型的数据.HBase是一个开源的,分布式的,多版本的,面向列的存储模型.它存储的是松散型数据. HBase提供了丰富的访问接口. HBase Shell Java clietn API Jython.Groovy DSL.Scala REST Thrift(Ruby.Pyt

PHP通过Thrift操作Hbase

HBase是一个开源的NoSQL产品,它是实现了Google BigTable论文的一个开源产品,和Hadoop和HDFS一起,可用来存储和处理海量column family的数据.官方网址是:http://hbase.apache.org 一 .HBase访问接口 1.  Native Java API,最常规和高效的访问方式,适合Hadoop MapReduce Job并行批处理HBase表数据2.  HBase Shell,HBase的命令行工具,最简单的接口,适合HBase管理使用3. 

Nodejs通过Thrift操作hbase卡住原因分析及与javascript的垃圾回收机制的关系

在最近使用Nodejs通过Thrift操作hbase的时候写了个脚本,不断发送http请求,从而取得hbase下所需的数据,但是在run的过程中for循环并没有执行完全,在执行一部分后会卡住,就再也进不到hbase下取数据,出现socket hang up的错误,查了很多资料也没解决.当时认为是hbase的并发数问题,其并发数的限制导致了资源负载的极限,后来不断测试找到原因所在,其实与hbase处理并发的能力无关,真正的原因是jsvascript的垃圾回收机制使得资源使用达到瓶颈,下面是代码处理

Python insert()方法插入元素

Python insert()方法插入元素 append() 和 extend() 方法只能在列表末尾插入元素,如果希望在列表中间某个位置插入元素,那么可以使用 insert() 方法. insert() 的语法格式如下:惠州大理石平台https://www.furuihua.cn/huizhou/ listname.insert(index , obj) 其中,index 表示指定位置的索引值.insert() 会将 obj 插入到 listname 列表第 index 个元素的位置. 当插入

Python 数据分析(二 本实验将学习利用 Python 数据聚合与分组运算,时间序列,金融与经济数据应用等相关知识

Python 数据分析(二) 本实验将学习利用 Python 数据聚合与分组运算,时间序列,金融与经济数据应用等相关知识 第1节 groupby 技术 第2节 数据聚合 第3节 分组级运算和转换 第4节 透视表和交叉表 第5节 时间序列 第6节 日期的规范.频率以及移动 第7节 时区处理 第8节 时期及算术运算 第9节 重采样及频率转换 第10节 时间序列绘图 groupby 技术 一.实验简介 Python 数据分析(二)需要同学们先行学完 Python 数据分析(一)的课程. 对数据集进行分

面面观 | 使用python 连接数据库,插入并查询数据--link

1,将两个docker 连接起来 首先需要搭建环境: 在alpine下面创建mariadb数据库: http://blog.csdn.net/freewebsys/article/details/53540615 用户名密码是root. 然后创建http的Python环境: http://blog.csdn.net/freewebsys/article/details/53509676 接下来做一个简单数据查询和插入操作. 2,python代码: main.py #!/usr/bin/pytho

利用python 实现快速插入300万行数据

需求:mysql怎么快速插入300万行数据?(效率要高) 分析:(1)使用pymysql多行插入(提高效率)         (2)使用python协程(遇到I/O操作就切换任务,无需等待--提高效率) 写代码之前的准备工作: 创建db20数据库,创建userinfo表 mysql> create database db20; Query OK, 1 row affected (0.00 sec) mysql> use db20; Database changed mysql> crea

python向数据库插入中文乱码问题

这即将是一篇very short very short的博文,之所以发这篇博文主要是为了吐槽,表达我的气愤. 我靠,是个人都知道,编码问题遇上了是有多么恶心,就是很恶心很恶心很恶心就是了,对不对. 在python里,import MySQLdb后,向数据库插中文乱码的问题不是一次遇到. OK,就当我笨吧,我就是笨.曾几何时,python这边死皮赖脸地报错,曾几何时,sql那边雷打不动地显示乱码.姐能怎样,能怎样,还不是各种百度各种谷歌去撞.撞上了就撞上了,反正由于已经转晕了,也懒得记. 但是,今

Python numpy模块的数据分析实验(1)

# -*- coding: cp936 -*-import numpy as npprint np.version.versionprint np.array ([1,2,3,4])print np.array ((1,2,3,4))print np.array ((1.2,2,3,4))print type(np.array ((1,2,3,4)))print np.array ([[1,2],[3,4]])print np.array((1.2,2,3,4), dtype=np.int32)