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

Python 調(diào)用 ES、Solr、Phoenix的示例代碼

 更新時(shí)間:2020年11月23日 10:33:27   作者:LeoZhanggg  
這篇文章主要介紹了Python 調(diào)用 ES、Solr、Phoenix的示例代碼,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# *************************************
# @Time  : 2019/8/12
# @Author : Zhang Fan
# @Desc  : Library
# @File  : MyDatabases.py
# @Update : 2019/8/23
# *************************************
import elasticsearch
import phoenixdb
import pysolr
import pymysql


class MyELS(object):
  """
  ===================================================================
  =====================    MyELS    =========================
  ===================================================================
  """
  def __init__(self):
    self.els_conn = None

  def connect_to_els(self, host, port):
    """
    連接到ElasticSearch服務(wù)器.
    """
    self.els_conn = elasticsearch.Elasticsearch([{'host': host, 'port': port}])
    print('Executing : Connect To Elastic Search | %s' % self.els_conn)

  def get_els_data(self, query, index):
    """
    獲取ElasticSearch數(shù)據(jù)
    """
    print('Executing : Search | %s' % query)
    try:
      rst = self.els_conn.search(index=index, q=query)
      return rst['hits']
    except Exception as e:
      print('Elastic Search Error | %s' % e)
      raise Exception(e)


class MyPhoenix(object):
  """
  ===================================================================
  =====================    MyPhoenix    ======================
  ===================================================================
  """
  def __init__(self):
    self.phoenix_conn = None
    self.phoenix_cursor = None

  def connect_to_phoenix(self, host, port=8765):
    """
    連接到phoenix服務(wù)器
    """
    address = 'http://{0}:{1}/'.format(host, port)
    print('Executing : Connect To Phoenix | %s' % address)
    self.phoenix_conn = phoenixdb.connect(address, autocommit=True)
    self.phoenix_cursor = self.phoenix_conn.cursor()

  def set_schema(self, sql, schema):
    """
    設(shè)置schema
    """
    pre_sub, sub, fol_sub = sql.upper().partition('FROM')
    fol_sub = ' ' + schema + '.' + fol_sub.strip()
    new_sql = ''.join([pre_sub, sub, fol_sub])
    return new_sql

  def execute_phoenix_sql(self, sql):
    """
    執(zhí)行sql語句
    """
    # sql = self.set_schema(sql, schema)
    print('Executing : Execute | %s' % sql)
    self.phoenix_cursor.execute(sql)

  def get_from_phoenix(self, sql):
    """
    獲取phoenix數(shù)據(jù)
    """
    # sql = self.set_schema(sql, schema)
    print('Executing : Query | %s' % sql)
    try:
      self.phoenix_cursor.execute(sql)
    except Exception as e:
      print('Phoenix Error | %s' % e)
      raise Exception(e)
    return self.phoenix_cursor.fetchall()

  def disconnect_from_phoenix(self):
    """
    斷開phoenix連接
    """
    print('Executing : Disconnect From HBase')
    self.phoenix_cursor.close()
    self.phoenix_conn.close()


class MySolr(object):
  """
  ===================================================================
  =====================    MySolr    =========================
  ===================================================================
  """
  def __init__(self):
    self.solr_conn = None
    self.base_url = None

  def connect_to_solr(self, address, selector):
    """連接到solr服務(wù)器.
    """
    self.base_url = 'http://{0}/solr/{1}/'.format(address, selector)
    self.solr_conn = pysolr.Solr(self.base_url)
    print('Executing : Connect To Solr | %s' % self.base_url)

  def get_solr_data(self, query):
    """
    獲取solr數(shù)據(jù)
    """
    results = list()
    print('Executing : Search | %s' % query)
    try:
      items = self.solr_conn.search(query)
      for item in items:
        results.append(item)
    except Exception as e:
      print('Solr Error | %s' % e)
      raise Exception(e)
    return results

  def add_solr_data(self, data):
    """
    添加solr數(shù)據(jù)
    """
    print('Executing : add | %s' % data)
    try:
      self.solr_conn.add([data])
      self.solr_conn.commit()
    except Exception as e:
      print('Solr Error | %s' % e)
      raise Exception(e)

  def del_solr_byId(self, data):
    """
    刪除solr數(shù)據(jù)
    """
    print('Executing : del | %s' % data)
    try:
      self.solr_conn.delete(id=data)
      self.solr_conn.commit()
    except Exception as e:
      print('Solr Error | %s' % e)
      raise Exception(e)


if __name__ == '__main__':
  print('This is test.')
  ms = MySolr()
  me = MyELS()
  mp = MyPhoenix()

以上就是Python 調(diào)用 ES、Solr、Phoenix的示例代碼的詳細(xì)內(nèi)容,更多關(guān)于Python 調(diào)用 ES、Solr、Phoenix的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • python 使用裝飾器并記錄log的示例代碼

    python 使用裝飾器并記錄log的示例代碼

    今天小編就為大家分享一篇python 使用裝飾器并記錄log的示例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • python代碼 輸入數(shù)字使其反向輸出的方法

    python代碼 輸入數(shù)字使其反向輸出的方法

    今天小編就為大家分享一篇python代碼 輸入數(shù)字使其反向輸出的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • 教你使用Sublime text3搭建Python開發(fā)環(huán)境及常用插件安裝另分享Sublime text3最新激活注冊(cè)碼

    教你使用Sublime text3搭建Python開發(fā)環(huán)境及常用插件安裝另分享Sublime text3最新激活注冊(cè)碼

    這篇文章主要介紹了使用Sublime text 3搭建Python開發(fā)環(huán)境及常用插件安裝,并提供了最新Sublime text 3激活注冊(cè)碼需要的朋友可以參考下
    2020-11-11
  • python zip文件 壓縮

    python zip文件 壓縮

    看了我前面的一系列文章,不知道你會(huì)不會(huì)覺得python是無所不能的,我現(xiàn)在就這感覺!如何用python進(jìn)行文件壓縮呢
    2008-12-12
  • django教程如何自學(xué)

    django教程如何自學(xué)

    在本篇內(nèi)容里小編給大家整理了關(guān)于django教程學(xué)習(xí)流程,想自學(xué)的朋友們可以閱讀下。
    2020-07-07
  • python如何壓縮新文件到已有ZIP文件

    python如何壓縮新文件到已有ZIP文件

    這篇文章主要為大家詳細(xì)介紹了python如何壓縮新文件到已有ZIP文件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • Pytorch中的 torch.distributions庫詳解

    Pytorch中的 torch.distributions庫詳解

    這篇文章主要介紹了Pytorch中的 torch.distributions庫,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-02-02
  • python獲取Linux發(fā)行版名稱

    python獲取Linux發(fā)行版名稱

    這篇文章主要介紹了python獲取Linux發(fā)行版名稱的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-08-08
  • Python讀寫Redis數(shù)據(jù)庫操作示例

    Python讀寫Redis數(shù)據(jù)庫操作示例

    Redis是一個(gè)開源的非關(guān)系型數(shù)據(jù)庫,它采用C語言編寫,是一個(gè)key-value存儲(chǔ)系統(tǒng),它存儲(chǔ)的value類型很多,包括string(字符串),list(鏈表),set(集合),zset(有序集合),hash(哈希)
    2014-03-03
  • 教你如何用一行Python代碼實(shí)現(xiàn)GUI圖形界面

    教你如何用一行Python代碼實(shí)現(xiàn)GUI圖形界面

    GUI(圖形用戶界面),顧名思義就是用圖形的方式,來顯示計(jì)算機(jī)操作的界面,更加方便且直觀。本文將用一行代碼實(shí)現(xiàn)GUI界面的制作,需要的可以參考一下
    2022-05-05

最新評(píng)論

青浦区| 永城市| 进贤县| 诏安县| 广灵县| 巩义市| 贡觉县| 陵川县| 盱眙县| 桂平市| 剑河县| 清河县| 曲周县| 长子县| 凌源市| 和龙市| 福安市| 平湖市| 夏津县| 临海市| 葫芦岛市| 钟祥市| 昌图县| 天气| 滦平县| 托克逊县| 达拉特旗| 邢台市| 昭通市| 富民县| 炎陵县| 沁源县| 那坡县| 林西县| 丹棱县| 海盐县| 图木舒克市| 和平县| 深州市| 营山县| 承德县|