一、背景
使用Python,打通Impala通道,实现取数自动化,或是作为数据分析的数据源。
二、Apache Impala
Impala是一个开源的,基于Hadoop的分析型数据库。
Impala可以查询存储在HDFS或者HBase中的数据。
Impala通过专用分布式查询引擎,绕过MapReduce直接访问数据,查询性能远高于Hive。
三、impyla
基于HiveServer2 实现的分布式查询引擎(如Impala、Hive)的Python客户端。
完全符合DB API 2.0(PEP 249)规范。
使用Kerberos、LDAP、SSL。
支持将数据转换为pandas的DataFrame,轻松集成到Python数据栈(如scikit-learn、matplotlib等)。
四、类封装
from impala.dbapi import connect
from impala.error import ProgrammingError
from utils.db.sql import SQL
class Impala(SQL):
DESC_EXEC_SUCCESS = "执行成功"
def __init__(self, host, port, database, user, password=None):
"""Impala工具类
:param host: IP
:param