Ubuntu下 使用impala 访问数据库

    xiaoxiao2022-07-12  142

    背景: Ubuntu系统下利用python访问集群上的数据库 1、python环境中安装pandas包和impala 包 apt install pandas apt install impala 2、py文件中加入 from impala.dbapi import connect

    3、相关功能代码

    from impala.dbapi import connect from impala.util import as_pandas #数据框数据,便于分析 这个的前提是python中安装了pandas conn = connect(host='服务器ip', port=21050)#设置ip和端口 cur = conn.cursor() #列出数据库列表 cur.execute('show databases;')#("show tables") data_list=cur.fetchall() print("databases:\n") for data in data_list: print("data list:",data) cur.execute('use 数据库名字;')#选择数据库 cur.execute('show tables;')#列出该数据库下的表名 data_list=cur.fetchall() print("tables in pmc_kudu") for data in data_list: print("data list:", data) cur.execute('describe 表名;')#获取该表的字段和类型信息 data=as_pandas(cur)#将获取的数据使用框表示更美观 只能表示字段信息 print(data) cur.execute('select column1,column2 from categorynew where column3="zxr";')#根据某一个字段的特定值显示筛选数据 cur.execute('select × from categorynew limit 100;') cur.close() conn.close()

    4、impala中的删除语句

    drop table tablename 删除整个表,下次新增必须新建表,也可以 drop table if exists student

    truncate table_name 截断表 删除表中的所有数据,但是保留表结构,后续可以继续增加数据,但是我测试不能使用describe语句,提示NoneType错误

    delete table tablename (可选 where 条件) 删除整个表的内容,但是是一行一行地删除,效率比truncate 低,ROLLBACK命令撤回delete的删除操作

     

     

     

    最新回复(0)