python使用happybase批量的操作hbase
最近在跑任务的回溯,发现有时候,速度会很慢 ,一开始确定到了 是hbase就起了一个公用的thrift,大家最近也都在导数据,搞得thrift总是挂掉 。 后来在集群中的其他hbase上起了Thrift服务,每个业务用自己的接口,这样能稳定了不少。 既然问题已经到这里了,
最近在跑任务的回溯,发现有时候,速度会很慢 ,一开始确定到了 是hbase就起了一个公用的thrift,大家最近也都在导数据,搞得thrift总是挂掉 。 后来在集群中的其他hbase上起了Thrift服务,每个业务用自己的接口,这样能稳定了不少。
既然问题已经到这里了,就要想方设法介绍链接和频繁的获取数据,回溯任务会涉及到两个批量的任务,一个是hbase的获取网页信息的,另一个是把信息推送到
redis分析队列里面。 关于redis的长连接和批量操作已经完成,现在要改hbase的批量操作。
看了下happybase的文档, 一个是rows ,也就是数据的批量的get,还有一个是batch,这个是批量的操作,类似一个操作链条,相当于我把一系列的动作放到list里面,然后一次性的推到thrift执行。 。
from buzz.lib.hbase import hb #xiaorui.cc list = ['fffec611be1150a3c6ec47d16243170f', 'fffec64d36e2afb9c801f533555e03d8', 'ffffc8f782fc44d53a05a090b175f7f8', 'ffffcd05483697128e426ac9a5882d4d', 'ffffef6a5889cecfd67e49c4b0a0e3ab', 'fffff003b4e8328a002a09140afdf662', 'fffff0503298c2e8acfa2146f5028f76', 'fffff09d26c34af9e9286b7cfd4354d6', 'fffff0d15acad09af4392520cbb496a5', 'fffff10b7c949bee275d6ee5f2c411c6', 'fffff15c658b773719f6c6482c03c6fe', 'fffff16d18f5fd8ae5a8dfe84ef43b63', 'fffffb9285cb2b875276061bc808a23c', 'fffffbb06b87214a6aad714e86d69d31', 'fffffbb17d235d16ad041992699eba4b', 'fffffbb495afa6cb5e9decd909ff4026', 'fffffbc24f6db511617fb5a1905f1597', 'fffffbcbe880e4cb270dd268e237fc96', 'fffffc499edcbda7a38adf10840c3a6f', 'fffffe66fe54cc66918fa59dd7914841', 'fffffe9249c4c260277884fb5ece92ad', 'fffffe9d05f6cd2d760270947085e970', 'ffffff2b4089a09756bb85b181f9f718', 'ffffffed28fd8493e9dbbe60a3123af3'] print len(list) for i in list: print i hb.get(i, False) print 'many get' table = hb.get_table() columns = ['bz:url', 'src:html'] row = table.rows(list, columns=columns)
happybase 不管是文档还是对于一些异常的处理都要比原生的thrift python api 要强的。
这里在放一个happybase的小demo ,供大家学习。
import happybase connection = happybase.Connection('h11', compat='0.90') connection.open() print connection.tables() ''' connection.create_table( 'mytable', {'cf1': dict(max_versions=10), 'cf2': dict(max_versions=1, block_cache_enabled=False), 'cf3': dict(), # use defaults } )''' table = connection.table('test') row = table.row('row1', columns=['data:1']) print row['data:1'] for key, data in table.scan(): print key, data connection.close()
原文地址:python使用happybase批量的操作hbase, 感谢原作者分享。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Apabila menggunakan Perpustakaan Pandas Python, bagaimana untuk menyalin seluruh lajur antara dua data data dengan struktur yang berbeza adalah masalah biasa. Katakan kita mempunyai dua DAT ...

Penggunaan alternatif anotasi parameter python Dalam pengaturcaraan Python, anotasi parameter adalah fungsi yang sangat berguna yang dapat membantu pemaju memahami dan menggunakan fungsi ...

Bagaimanakah skrip Python jelas output ke kedudukan kursor di lokasi tertentu? Semasa menulis skrip python, adalah perkara biasa untuk membersihkan output sebelumnya ke kedudukan kursor ...

Mengapa kod saya tidak dapat mendapatkan data yang dikembalikan oleh API? Dalam pengaturcaraan, kita sering menghadapi masalah mengembalikan nilai null apabila panggilan API, yang bukan sahaja mengelirukan ...

Bagaimanakah Uvicorn terus mendengar permintaan HTTP? Uvicorn adalah pelayan web ringan berdasarkan ASGI. Salah satu fungsi terasnya ialah mendengar permintaan HTTP dan teruskan ...

Di Python, bagaimana untuk membuat objek secara dinamik melalui rentetan dan panggil kaedahnya? Ini adalah keperluan pengaturcaraan yang biasa, terutamanya jika perlu dikonfigurasikan atau dijalankan ...

Bermula dengan Python: Lukisan Grafik Hourglass dan Pengesahan Input Artikel ini akan menyelesaikan masalah definisi berubah -ubah yang dihadapi oleh pemula python dalam program lukisan grafik Hourglass. Kod ...

Kaedah muat turun Perpustakaan Python (.whl) Meneroka kesukaran banyak pemaju Python apabila memasang perpustakaan tertentu pada sistem Windows. Penyelesaian yang sama ...
