最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python hbase讀取數(shù)據(jù)發(fā)送kafka的方法

 更新時(shí)間:2018年12月27日 11:02:08   作者:meiguopai1  
今天小編就為大家分享一篇python hbase讀取數(shù)據(jù)發(fā)送kafka的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

本例子實(shí)現(xiàn)從hbase獲取數(shù)據(jù),并發(fā)送kafka。

使用

#!/usr/bin/env python
#coding=utf-8
 
import sys
import time
import json
 
sys.path.append('/usr/local/lib/python3.5/site-packages')
from thrift import Thrift
from thrift.transport import TSocket
from thrift.transport import TTransport
from thrift.protocol import TBinaryProtocol
from hbase1 import Hbase #調(diào)用hbase thrif1
from hbase1.ttypes import *
from kafka import KafkaConsumer
from kafka import KafkaProducer
from kafka.errors import KafkaError
import unittest
 
class HbaseOpreator:
 def __init__(self,host,port,table='test'):
  self.tableName=table
  self.transport=TTransport.TBufferedTransport(TSocket.TSocket(host,port))
  self.protocol=TBinaryProtocol.TBinaryProtocol(self.transport)
  self.client=Hbase.Client(self.protocol)
  self.transport.open()
 
 def __del__(self):
  self.transport.close()
 
 
 def scanTablefilter(self,table,*args):
  d=dict() 
  L=[]
  try:
   tableName=table
   # scan = Hbase.TScan(startRow, stopRow)
   scan=TScan()
   #主鍵首字母123
   # filter = "PrefixFilter('123_')"
   # filter = "RowFilter(=,'regexstring:.aaa')"
   #過(guò)濾條件,當(dāng)前為 statis_date 字段,值為20170223
   # fitler = "SingleColumnValueFilter(tableName,'f','statis_date','20170223')"
   # filter="SingleColumnValueFilter('f','statis_date',=,'binary:20170223') AND SingleColumnValueFilter('f','name',=,'binary:LXS')"
   filter="SingleColumnValueFilter('info','name',=,'binary:lilei') OR SingleColumnValueFilter('info','name',=,'binary:lily')"
   scan.filterString=filter
   id=self.client.scannerOpenWithScan(tableName,scan,None)
   result=self.client.scannerGet(id)
   # result=self.client.scannerGetList(id,100)
   while result:
    for r in result:
     key=r.row
     name=r.columns.get('info:name').value
     age=r.columns.get('info:age').value
     phone=r.columns.get('info:phone').value
     d['key']=key
     d['name']=name
     d['age']=age
     d['phone']=phone
     # encode_result_json=json.dumps(d).encode(encoding="utf-8")
     # print(encode_result_json)
     L.append(d)         
    result=self.client.scannerGet(id)    
   return json.dumps(L).encode(encoding="utf-8")  
  finally:
   # self.client.scannerClose(scan)
   print("scan finish")
 
def sendKfafkaProduct(data):
 # self.host_port='localhost:9092'
 producer = KafkaProducer(bootstrap_servers=['localhost:9092'])
 for d in data:
  producer.send('test', key=b'lxs', value=d)
  time.sleep(5)
  print(d)
 
 while True:
  producer.send('test', key=b'lxs', value=data)
  time.sleep(5)
  print(data)
 
if __name__== '__main__':
 # unittest.main()
 
 B=HbaseOpreator('10.27.1.138',9090)
 value=B.scanTablefilter('ns_lbi:test_hbase_student')
 print(value)
 #sendKfafkaProduct(value)
 

以上這篇python hbase讀取數(shù)據(jù)發(fā)送kafka的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Linux CentOS Python開發(fā)環(huán)境搭建教程

    Linux CentOS Python開發(fā)環(huán)境搭建教程

    這篇文章主要介紹了Linux CentOS Python開發(fā)環(huán)境搭建方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-11-11
  • Python pickle模塊用法實(shí)例

    Python pickle模塊用法實(shí)例

    這篇文章主要介紹了Python pickle模塊用法實(shí)例,python的pickle模塊實(shí)現(xiàn)了基本的數(shù)據(jù)序列和反序列化,需要的朋友可以參考下
    2015-04-04
  • Python實(shí)現(xiàn)在一行中交換兩個(gè)變量

    Python實(shí)現(xiàn)在一行中交換兩個(gè)變量

    這篇文章主要為大家詳細(xì)介紹了如何利用Python語(yǔ)言實(shí)現(xiàn)在一行中交換兩個(gè)變量功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2022-08-08
  • Django?ORM?多表查詢示例代碼

    Django?ORM?多表查詢示例代碼

    這篇文章主要介紹了Django?ORM?多表查詢,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-09-09
  • Python+matplotlib實(shí)現(xiàn)餅圖的繪制

    Python+matplotlib實(shí)現(xiàn)餅圖的繪制

    Matplotlib是一個(gè)Python的2D繪圖庫(kù),它以各種硬拷貝格式和跨平臺(tái)的交互式環(huán)境生成出版質(zhì)量級(jí)別的圖形。本文將利用Matplotlib庫(kù)繪制餅圖,感興趣的可以了解一下
    2022-03-03
  • python2.7實(shí)現(xiàn)FTP文件下載功能

    python2.7實(shí)現(xiàn)FTP文件下載功能

    這篇文章主要為大家詳細(xì)介紹了python 2.7 實(shí)現(xiàn)FTP文件下載功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • 用Python實(shí)現(xiàn)石頭剪刀布游戲

    用Python實(shí)現(xiàn)石頭剪刀布游戲

    大家好,本篇文章主要講的是用Python實(shí)現(xiàn)石頭剪刀布游戲,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下
    2022-01-01
  • 從0開始的Python學(xué)習(xí)016異常

    從0開始的Python學(xué)習(xí)016異常

    這篇文章主要介紹了Python異常,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • Python之find()和index()的區(qū)別及使用說(shuō)明

    Python之find()和index()的區(qū)別及使用說(shuō)明

    本文詳細(xì)介紹了Python中`index()`方法和`find()`方法的使用方法、參數(shù)說(shuō)明和舉例說(shuō)明,這些方法都用于查找元素或子字符串的位置,但`index()`方法在未找到時(shí)會(huì)拋出異常,而`find()`方法會(huì)返回-1
    2025-11-11
  • Python機(jī)器學(xué)習(xí)NLP自然語(yǔ)言處理基本操作家暴歸類

    Python機(jī)器學(xué)習(xí)NLP自然語(yǔ)言處理基本操作家暴歸類

    本文是Python機(jī)器學(xué)習(xí)NLP自然語(yǔ)言處理系列文章,帶大家開啟一段學(xué)習(xí)自然語(yǔ)言處理 (NLP) 的旅程。本篇文章主要學(xué)習(xí)NLP自然語(yǔ)言處理家暴歸類
    2021-09-09

最新評(píng)論

得荣县| 和顺县| 泾源县| 石景山区| 遂溪县| 宁海县| 铜陵市| 天全县| 开鲁县| 定南县| 芒康县| 正镶白旗| 马关县| 正定县| 齐齐哈尔市| 陕西省| 日喀则市| 扎赉特旗| 龙胜| 凌海市| 滕州市| 南平市| 建宁县| 永顺县| 崇仁县| 微山县| 铁岭市| 南澳县| 定陶县| 嘉荫县| 文化| 兴海县| 阿瓦提县| 开阳县| 安丘市| 丁青县| 巍山| 湘阴县| 白城市| 龙里县| 开化县|