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

使用python客戶端訪問impala的操作方式

 更新時(shí)間:2020年03月28日 09:36:40   作者:faith默默  
這篇文章主要介紹了使用python客戶端訪問impala的操作方式,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧

因需要將impala僅僅作為數(shù)據(jù)源使用,而python有較好的數(shù)據(jù)分析函數(shù),所以需要使用python客戶端來獲取impala中的表數(shù)據(jù),這里的測試環(huán)境是:

操作系統(tǒng):win7 (linux下也可行)

python 2.7

大數(shù)據(jù)環(huán)境:centos6.6

CDH版本:CDH5.4.1

impala 2.1.2 port:21050

1、安裝Python package

pip install impyla

2、python客戶端與impala交互

2.1 連接impala

>>> from impala.dbapi import connect
>>> conn = connect(host='my.impala.host', port=21050)
>>> cur = conn.cursor()

注意:這里要確保端口設(shè)置為HS2服務(wù),而不是Beeswax服務(wù)。在Cloudera的管理集群中,HS2的默認(rèn)端口是21050。 (Beeswax默認(rèn)端口21000)

2.2 對impala執(zhí)行SQL查詢

>>> cur.execute('SHOW TABLES')
>>> cur.fetchall()
[('defect_code_dim',), ('gxzl_ca_materialinfo',), ('gxzl_cg_materialinfo',), ('gxzl_defect2',), ('gxzl_defects',), ('gxzl_defects_hd',), ('gxzl_fx_class',), ('gxzl_fx_leftmidright',), ('gxzl_fx_topandbot',), ('gxzl_jiejing_2cc_slab',), ('gxzl_kgx_drw',), ('gxzl_kgx_drw_tmp',), ('gxzl_rz_materialinfo',), ('gxzl_sdbase_defects',), ('gxzl_test',), ('new_table',), ('ouye_transactionlog',), ('ouye_userinfo',), ('simple_test',), ('t0',), ('t_100m_hdfs',), ('t_100m_test',), ('t_10m_hdfs',), ('target1',), ('target2',), ('target3',), ('test',), ('tianchi_mobile_recommend_train_full',), ('tianchi_mobile_recommend_train_item',), ('tianchi_mobile_recommend_train_user',), ('tianchi_mobile_recommend_train_useritem',)]
>>> cur.execute('SELECT * FROM test')
>>> cur.description
[('id', 'DOUBLE', None, None, None, None, None), ('name', 'STRING', None, None, None, None, None), ('value', 'STRING', None, None, None, None, None)]
>>> cur.fetchall()
[(1.0, 'tom', 'f'), (2.0, 'jerry', 't')]
>>> 

注意:從服務(wù)器上獲取數(shù)據(jù)會(huì)刪除緩存,所以第二個(gè).fetchall()返回一個(gè)空列表。

>>> cur.fetchall()
[(1.0, 'tom', 'f'), (2.0, 'jerry', 't')]
>>> cur.fetchall()
[]
>>>

2.3 遍歷查詢結(jié)果

>>> cur.execute('SELECT * FROM test')
>>> for row in cur:
  print row[1] == 1.0


False
False

注:python的角標(biāo)是以0開始。以上仍是以緩存方式來獲取數(shù)據(jù)。

如果你的數(shù)據(jù)集較小可以使用這種方式;如果你需要存儲(chǔ)大量的數(shù)據(jù)集,你可以用CREATE TABLE AS SELECT語句把它寫入HDFS。

2.4 將查詢結(jié)果轉(zhuǎn)化為python中的pandas DataFrames

除了遍歷結(jié)果以外,還可以把結(jié)果轉(zhuǎn)化成pandas的數(shù)據(jù)框?qū)ο螅员氵M(jìn)行數(shù)據(jù)分析:

>>> from impala.dbapi import connect
>>> conn = connect(host='my.impala.host', port=21050)
>>> cur = conn.cursor()
>>> from impala.util import as_pandas
>>> cur.execute('SELECT * FROM test')
>>> df = as_pandas(cur)
>>> type(df)
<class 'pandas.core.frame.DataFrame'>
>>> df
  id  name value
0  1  tom   f
1  2 jerry   t
>>> 

注:前提是python中安裝了pandas,使用pip install pandas在線安裝,安裝過程中可能會(huì)提示:Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall.bat). Get it from http://aka.ms/vcpython27

只要按照提示說的的去下載一個(gè)VC就可以了。這樣就安裝好了pandas。

以上這篇使用python客戶端訪問impala的操作方式就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python 進(jìn)程操作之進(jìn)程間通過隊(duì)列共享數(shù)據(jù),隊(duì)列Queue簡單示例

    Python 進(jìn)程操作之進(jìn)程間通過隊(duì)列共享數(shù)據(jù),隊(duì)列Queue簡單示例

    這篇文章主要介紹了Python 進(jìn)程操作之進(jìn)程間通過隊(duì)列共享數(shù)據(jù),隊(duì)列Queue,結(jié)合實(shí)例形式分析了Python進(jìn)程數(shù)據(jù)共享、隊(duì)列數(shù)據(jù)處理相關(guān)操作技巧,需要的朋友可以參考下
    2019-10-10
  • Python字符串hashlib加密模塊使用案例

    Python字符串hashlib加密模塊使用案例

    這篇文章主要介紹了Python字符串hashlib加密模塊使用案例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • python圖像處理基本操作總結(jié)(PIL庫、Matplotlib及Numpy)

    python圖像處理基本操作總結(jié)(PIL庫、Matplotlib及Numpy)

    這篇文章主要給大家介紹了關(guān)于python圖像處理基本操作的相關(guān)資料,主要利用的是PIL庫、Matplotlib及Numpy等處理方法,需要的朋友可以參考下
    2021-06-06
  • 深入解讀python字符串函數(shù)

    深入解讀python字符串函數(shù)

    這篇文章主要為大家介紹了python字符串函數(shù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • 學(xué)python安裝的軟件總結(jié)

    學(xué)python安裝的軟件總結(jié)

    在本篇文章里小編給大家整理了是關(guān)于學(xué)python安裝什么軟件的相關(guān)知識點(diǎn)內(nèi)容,有需要的朋友們學(xué)習(xí)下。
    2019-10-10
  • python調(diào)用matlab的方法詳解

    python調(diào)用matlab的方法詳解

    這篇文章主要為大家介紹了python調(diào)用matlab,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-11-11
  • 對Python 多線程統(tǒng)計(jì)所有csv文件的行數(shù)方法詳解

    對Python 多線程統(tǒng)計(jì)所有csv文件的行數(shù)方法詳解

    今天小編就為大家分享一篇對Python 多線程統(tǒng)計(jì)所有csv文件的行數(shù)方法詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02
  • 遠(yuǎn)程部署工具Fabric詳解(支持Python3)

    遠(yuǎn)程部署工具Fabric詳解(支持Python3)

    這篇文章主要介紹了遠(yuǎn)程部署神器 Fabric,支持Python3 ,Fabric 出場了。Fabric 是一個(gè)遠(yuǎn)程部署神器,它可以在本地執(zhí)行遠(yuǎn)程服務(wù)器的命令。,需要的朋友可以參考下
    2019-07-07
  • opencv繪制矩形和圓的實(shí)現(xiàn)

    opencv繪制矩形和圓的實(shí)現(xiàn)

    本文主要介紹了opencv繪制矩形和圓的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • python3壓縮和解壓文件案例總結(jié)

    python3壓縮和解壓文件案例總結(jié)

    壓縮和解壓縮是日常常用的操作,不管是windows上圖形界面的操作,還是linux上用命令來進(jìn)行壓縮解壓縮,總的而言都還是比較方便的,本文通過案例代碼講解了python3壓縮和解壓文件的方法,
    2023-02-02

最新評論

饶河县| 巍山| 克什克腾旗| 鱼台县| 灵丘县| 龙海市| 五原县| 彭水| 定襄县| 色达县| 尚志市| 萨迦县| 金山区| 栾川县| 绥江县| 久治县| 枣阳市| 海兴县| 云和县| 鄢陵县| 军事| 黑山县| 阿拉善盟| 郧西县| 志丹县| 文安县| 梁河县| 洛隆县| 凤庆县| 贵港市| 西乌| 金秀| 汉沽区| 安龙县| 沭阳县| 宁晋县| 射洪县| 大余县| 平定县| 扶沟县| 双辽市|