Heim Datenbank MySQL-Tutorial python使用happybase批量的操作hbase

python使用happybase批量的操作hbase

Jun 07, 2016 pm 04:39 PM
python 使用 批量 操作

最近在跑任务的回溯,发现有时候,速度会很慢 ,一开始确定到了 是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)
Nach dem Login kopieren

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()
Nach dem Login kopieren
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie kann ich die gesamte Spalte eines Datenrahmens effizient in einen anderen Datenrahmen mit verschiedenen Strukturen in Python kopieren? Wie kann ich die gesamte Spalte eines Datenrahmens effizient in einen anderen Datenrahmen mit verschiedenen Strukturen in Python kopieren? Apr 01, 2025 pm 11:15 PM

Bei der Verwendung von Pythons Pandas -Bibliothek ist das Kopieren von ganzen Spalten zwischen zwei Datenrahmen mit unterschiedlichen Strukturen ein häufiges Problem. Angenommen, wir haben zwei Daten ...

Können Python -Parameteranmerkungen Zeichenfolgen verwenden? Können Python -Parameteranmerkungen Zeichenfolgen verwenden? Apr 01, 2025 pm 08:39 PM

Alternative Verwendung von Python -Parameteranmerkungen in der Python -Programmierung, Parameteranmerkungen sind eine sehr nützliche Funktion, die den Entwicklern helfen kann, Funktionen besser zu verstehen und zu verwenden ...

Wie lösten Python -Skripte an einem bestimmten Ort die Ausgabe in Cursorposition? Wie lösten Python -Skripte an einem bestimmten Ort die Ausgabe in Cursorposition? Apr 01, 2025 pm 11:30 PM

Wie lösten Python -Skripte an einem bestimmten Ort die Ausgabe in Cursorposition? Beim Schreiben von Python -Skripten ist es üblich, die vorherige Ausgabe an die Cursorposition zu löschen ...

Warum kann mein Code nicht die von der API zurückgegebenen Daten erhalten? Wie löst ich dieses Problem? Warum kann mein Code nicht die von der API zurückgegebenen Daten erhalten? Wie löst ich dieses Problem? Apr 01, 2025 pm 08:09 PM

Warum kann mein Code nicht die von der API zurückgegebenen Daten erhalten? Bei der Programmierung stoßen wir häufig auf das Problem der Rückgabe von Nullwerten, wenn API aufruft, was nicht nur verwirrend ist ...

Wie hört Uvicorn kontinuierlich auf HTTP -Anfragen ohne Serving_forver () an? Wie hört Uvicorn kontinuierlich auf HTTP -Anfragen ohne Serving_forver () an? Apr 01, 2025 pm 10:51 PM

Wie hört Uvicorn kontinuierlich auf HTTP -Anfragen an? Uvicorn ist ein leichter Webserver, der auf ASGI basiert. Eine seiner Kernfunktionen ist es, auf HTTP -Anfragen zu hören und weiterzumachen ...

Wie erstelle ich dynamisch ein Objekt über eine Zeichenfolge und rufe seine Methoden in Python auf? Wie erstelle ich dynamisch ein Objekt über eine Zeichenfolge und rufe seine Methoden in Python auf? Apr 01, 2025 pm 11:18 PM

Wie erstellt in Python ein Objekt dynamisch über eine Zeichenfolge und ruft seine Methoden auf? Dies ist eine häufige Programmieranforderung, insbesondere wenn sie konfiguriert oder ausgeführt werden muss ...

Python Hourglass Graph Drawing: Wie vermeiden Sie variable undefinierte Fehler? Python Hourglass Graph Drawing: Wie vermeiden Sie variable undefinierte Fehler? Apr 01, 2025 pm 06:27 PM

Erste Schritte mit Python: Hourglas -Grafikzeichnung und Eingabeüberprüfung In diesem Artikel wird das Problem der Variablendefinition gelöst, das von einem Python -Anfänger im Hourglass -Grafikzeichnungsprogramm auftritt. Code...

Wo kann man Python .WHL -Dateien unter Windows herunterladen? Wo kann man Python .WHL -Dateien unter Windows herunterladen? Apr 01, 2025 pm 08:18 PM

Python Binary Library (.WHL) -Download -Methode untersucht die Schwierigkeiten, die viele Python -Entwickler bei der Installation bestimmter Bibliotheken auf Windows -Systemen auftreten. Eine gemeinsame Lösung ...

See all articles